Merge "Make convertUserOptions.php more self-contained"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 2 Jun 2014 22:50:44 +0000 (22:50 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 2 Jun 2014 22:50:44 +0000 (22:50 +0000)
128 files changed:
RELEASE-NOTES-1.24
docs/hooks.txt
includes/Article.php
includes/DefaultSettings.php
includes/EditPage.php
includes/ImagePage.php
includes/Import.php
includes/Linker.php
includes/OutputPage.php
includes/Preferences.php
includes/SkinTemplate.php
includes/User.php
includes/actions/RenderAction.php
includes/api/ApiExpandTemplates.php
includes/db/DatabasePostgres.php
includes/filebackend/SwiftFileBackend.php
includes/installer/i18n/sr-ec.json
includes/installer/i18n/zh-hans.json
includes/logging/LogEntry.php
includes/media/MediaHandler.php
includes/parser/Parser.php
includes/parser/ParserOptions.php
includes/parser/Preprocessor.php
includes/parser/Preprocessor_DOM.php
includes/parser/Preprocessor_Hash.php
includes/search/SearchEngine.php
includes/specials/SpecialSearch.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialVersion.php
includes/utils/IP.php
languages/i18n/af.json
languages/i18n/az.json
languages/i18n/bar.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bg.json
languages/i18n/bn.json
languages/i18n/ca.json
languages/i18n/ce.json
languages/i18n/ckb.json
languages/i18n/co.json
languages/i18n/crh-cyrl.json
languages/i18n/crh-latn.json
languages/i18n/cs.json
languages/i18n/cu.json
languages/i18n/cy.json
languages/i18n/de.json
languages/i18n/diq.json
languages/i18n/egl.json
languages/i18n/en.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/gd.json
languages/i18n/he.json
languages/i18n/hif-latn.json
languages/i18n/hr.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ilo.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/kiu.json
languages/i18n/kk-cyrl.json
languages/i18n/kn.json
languages/i18n/ko.json
languages/i18n/krc.json
languages/i18n/ku-latn.json
languages/i18n/lb.json
languages/i18n/lez.json
languages/i18n/lmo.json
languages/i18n/lrc.json
languages/i18n/mg.json
languages/i18n/min.json
languages/i18n/mk.json
languages/i18n/ml.json
languages/i18n/mn.json
languages/i18n/mt.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/or.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/ro.json
languages/i18n/ru.json
languages/i18n/sa.json
languages/i18n/scn.json
languages/i18n/sl.json
languages/i18n/so.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/sv.json
languages/i18n/ta.json
languages/i18n/te.json
languages/i18n/tl.json
languages/i18n/uk.json
languages/i18n/vi.json
languages/i18n/wuu.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/dumpLinks.php
maintenance/fixDoubleRedirects.php
maintenance/generateSitemap.php
resources/Resources.php
resources/lib/oojs-ui/i18n/min.json
resources/lib/oojs-ui/i18n/ne.json
resources/lib/oojs-ui/oojs-ui.css [new file with mode: 0644]
resources/lib/oojs-ui/oojs-ui.js
resources/lib/oojs-ui/oojs-ui.svg.css
skins/MonoBook.php
skins/Vector.php
skins/vector/collapsibleTabs.js
skins/vector/components/tabs.less
skins/vector/vector.js
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/phpunit/data/media/Portrait.png [deleted file]
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/includes/utils/IPTest.php

index ba9dbad..0389b7c 100644 (file)
@@ -14,6 +14,9 @@ production.
 * Introduced $wgPagePropsHaveSortkey as a backwards-compatibility switch,
   for using the old schema of the page_props table, in case the respective
   schema update was not applied.
+* $wgSearchEverythingOnlyLoggedIn was removed as the 'searcheverything'
+  user option was removed. Use $wgNamespacesToBeSearchedDefault instead or
+  if you used to have $wgDefaultUserOptions['searcheverything'] = 1.
 
 === New features in 1.24 ===
 * Added a new hook, "WhatLinksHereProps", to allow extensions to annotate
@@ -40,13 +43,19 @@ production.
   can probably be changed to no longer special-case redirects.
 * Header font set to a serif font stack. See
   https://www.mediawiki.org/wiki/Typography_refresh for further information.
-* (bug 63903) Thumbnails without an explicit size specification are
-  now resized to a square bounding box. This gives better results for
-  non-landscape thumbnails.
 * (bug 65567) Added a new hook, "BeforeHttpsRedirect", to allow cancellation of the HTTP
   to HTTPS redirect due to forceHTTPS cookie, userRequires, etc.  This is only for page views,
   since this hook doesn't affect UserLogin, OAuth, CentralAuth, etc.
   ATTENTION: This hook is likely to be removed soon due to overall design of the system.
+* (bug 17367) It is now possible to add pages to your watchlist from
+  Special:UnwatchedPages without reloading the special page.
+* New methods setVolatile and isVolatile are added to PPFrame, so that
+  extensions such as Cite.php can mark that their output is volatile and
+  shouldn't be cached.
+* (bug 52817) Advanced search options are now saved on the search page itself, rather
+  than in a dedicated pane in the preferences panel.
+* (bug 44591) The dropdown actions menu (little triangle next to page tabs) in
+  the Vector skin has gained a label that should make it more discoverable.
 
 === Bug fixes in 1.24 ===
 * (bug 49116) Footer copyright notice is now always displayed in user language
@@ -108,6 +117,12 @@ changes to languages because of Bugzilla reports.
   core to their own respective repositories. See also
   https://www.mediawiki.org/wiki/Skin:Modern and
   https://www.mediawiki.org/wiki/Skin:CologneBlue.
+* BREAKING CHANGE: Skins built for MediaWiki 1.15 and earlier that do not use
+  the "headelement" template key are no longer supported. Setting
+  $useHeadElement = false; is no longer supported and will not cause old keys
+  like "headlinks", "skinnameclass", etc. to be defined.
+* The deprecated 'SpecialVersionExtensionTypes' hook was removed.
+* (bug 63891) Add 'X-Robots-Tag: noindex' header in action=render pages.
 
 ==== Renamed classes ====
 * CLDRPluralRuleConverter_Expression to CLDRPluralRuleConverterExpression
index e91f437..cb76341 100644 (file)
@@ -2516,11 +2516,6 @@ $term: string of search term
 Special:Upload.
 $form: The SpecialUpload object
 
-'SpecialVersionExtensionTypes': Called when generating the extensions credits,
-use this to change the tables headers. Deprecated since MediaWiki 1.17, use the
-ExtensionTypes hook instead.
-$extTypes: associative array of extensions types
-
 'SpecialVersionVersionUrl': Called when building the URL for Special:Version.
 $wgVersion: Current $wgVersion for you to use
 &$versionUrl: Raw url to link to (eg: release notes)
index 09d843d..4cf7d3e 100644 (file)
@@ -1328,7 +1328,7 @@ class Article implements Page {
                $outputPage = $this->getContext()->getOutput();
                $outputPage->addSubtitle( "<div id=\"mw-{$infomsg}\">" . wfMessage( $infomsg,
                        $td )->rawParams( $userlinks )->params( $revision->getID(), $tddate,
-                       $tdtime, $revision->getUser() )->parse() . "</div>" );
+                       $tdtime, $revision->getUser(), Linker::revComment( $revision, true, true ) )->parse() . "</div>" );
 
                $lnk = $current
                        ? wfMessage( 'currentrevisionlink' )->escaped()
@@ -1494,6 +1494,7 @@ class Article implements Page {
         * Handle action=render
         */
        public function render() {
+               $this->getContext()->getRequest()->response()->header( 'X-Robots-Tag: noindex' );
                $this->getContext()->getOutput()->setArticleBodyOnly( true );
                $this->getContext()->getOutput()->enableSectionEditLinks( false );
                $this->view();
index 16c0187..ab0ffeb 100644 (file)
@@ -5322,14 +5322,6 @@ $wgNamespacesToBeSearchedDefault = array(
        NS_MAIN => true,
 );
 
-/**
- * If set to true the 'searcheverything' preference will be effective only for
- * logged-in users.
- * Useful for big wikis to maintain different search profiles for anonymous and
- * logged-in users.
- */
-$wgSearchEverythingOnlyLoggedIn = false;
-
 /**
  * Disable the internal MySQL-based search, to allow it to be
  * implemented by an extension instead.
@@ -6080,7 +6072,9 @@ $wgAutoloadAttemptLowercase = true;
  * view said file. When the 'license-name' key is specified, this file is
  * interpreted as wikitext.
  *
- * - $type: One of 'specialpage', 'parserhook', 'variable', 'media' or 'other'.
+ * - $type: One of 'specialpage', 'parserhook', 'variable', 'media', 'antispam',
+ *    'skin', 'api', or 'other', or any additional types as specified through the
+ *    ExtensionTypes hook as used in SpecialVersion::getExtensionTypes().
  *
  * - author: A string or an array of strings. Authors can be linked using
  *    the regular wikitext link syntax. To have an internationalized version of
index ca11f16..b1a7a33 100644 (file)
@@ -797,9 +797,9 @@ class EditPage {
                                // suhosin.request.max_value_length (d'oh)
                                $this->incompleteForm = true;
                        } else {
-                               // edittime should be one of our last fields; if it's missing,
-                               // the submission probably broke somewhere in the middle.
-                               $this->incompleteForm = is_null( $this->edittime );
+                               // If we receive the last parameter of the request, we can fairly
+                               // claim the POST request has not been truncated.
+                               $this->incompleteForm = !$request->getVal( 'wpUltimateParam' );
                        }
                        if ( $this->incompleteForm ) {
                                # If the form is incomplete, force to preview.
@@ -2584,6 +2584,9 @@ class EditPage {
                        }
                }
 
+               // Marker for detecting truncated form data.  This must be the last
+               // parameter sent in order to be of use, so do not move me.
+               $wgOut->addHTML( Html::hidden( 'wpUltimateParam', true ) );
                $wgOut->addHTML( $this->editFormTextBottom . "\n</form>\n" );
 
                if ( !$wgUser->getOption( 'previewontop' ) ) {
index 5f385ac..60db202 100644 (file)
@@ -1301,9 +1301,9 @@ class ImageHistoryList extends ContextSource {
                // Image dimensions + size
                $row .= '<td>';
                $row .= htmlspecialchars( $file->getDimensionsString() );
-               $row .= $this->msg( 'word-separator' )->plain();
+               $row .= $this->msg( 'word-separator' )->escaped();
                $row .= '<span style="white-space: nowrap;">';
-               $row .= $this->msg( 'parentheses' )->sizeParams( $file->getSize() )->plain();
+               $row .= $this->msg( 'parentheses' )->sizeParams( $file->getSize() )->escaped();
                $row .= '</span>';
                $row .= '</td>';
 
@@ -1316,7 +1316,7 @@ class ImageHistoryList extends ContextSource {
                } else {
                        if ( $local ) {
                                $row .= Linker::userLink( $userId, $userText );
-                               $row .= $this->msg( 'word-separator' )->plain();
+                               $row .= $this->msg( 'word-separator' )->escaped();
                                $row .= '<span style="white-space: nowrap;">';
                                $row .= Linker::userToolLinks( $userId, $userText );
                                $row .= '</span>';
index 79df693..177d023 100644 (file)
@@ -40,9 +40,9 @@ class WikiImporter {
 
        /**
         * Creates an ImportXMLReader drawing from the source provided
-        * @param string $source
+        * @param ImportStreamSource $source
         */
-       function __construct( $source ) {
+       function __construct( ImportStreamSource $source ) {
                $this->reader = new XMLReader();
 
                if ( !in_array(  'uploadsource', stream_get_wrappers() ) ) {
@@ -944,10 +944,10 @@ class UploadSourceAdapter {
        private $mPosition;
 
        /**
-        * @param string $source
+        * @param ImportStreamSource $source
         * @return string
         */
-       static function registerSource( $source ) {
+       static function registerSource( ImportStreamSource $source ) {
                $id = wfRandomString();
 
                self::$sourceRegistrations[$id] = $source;
index b6e6657..aa5325d 100644 (file)
@@ -608,7 +608,6 @@ class Linker {
                                }
 
                                // Reduce width for upright images when parameter 'upright' is used
-                               $useSquare = !isset( $fp['upright'] );
                                if ( isset( $fp['upright'] ) && $fp['upright'] == 0 ) {
                                        $fp['upright'] = $wgThumbUpright;
                                }
@@ -620,16 +619,11 @@ class Linker {
                                        round( $wgThumbLimits[$widthOption] * $fp['upright'], -1 ) :
                                        $wgThumbLimits[$widthOption];
 
-                               // Use whichever is smaller: real image width or user preference width
+                               // Use width which is smaller: real image width or user preference width
                                // Unless image is scalable vector.
                                if ( !isset( $hp['height'] ) && ( $hp['width'] <= 0 ||
-                                               $prefWidth < $hp['width'] ||
-                                               ( $useSquare && $prefWidth < $file->getHeight( $page ) ) ||
-                                               $file->isVectorized() ) ) {
+                                               $prefWidth < $hp['width'] || $file->isVectorized() ) ) {
                                        $hp['width'] = $prefWidth;
-                                       if ( $useSquare ) {
-                                               $hp['height'] = $prefWidth;
-                                       }
                                }
                        }
                }
index 0f3612a..6075d8d 100644 (file)
@@ -473,8 +473,10 @@ class OutputPage extends ContextSource {
         * Get all registered JS and CSS tags for the header.
         *
         * @return string
+        * @deprecated since 1.24 Use OutputPage::headElement to build the full header.
         */
        function getScript() {
+               wfDeprecated( __METHOD__, '1.24' );
                return $this->mScripts . $this->getHeadItems();
        }
 
@@ -630,8 +632,11 @@ class OutputPage extends ContextSource {
         * Get all header items in a string
         *
         * @return string
+        * @deprecated since 1.24 Use OutputPage::headElement or
+        *   if absolutely necessary use OutputPage::getHeadItemsArray
         */
        function getHeadItems() {
+               wfDeprecated( __METHOD__, '1.24' );
                $s = '';
                foreach ( $this->mHeadItems as $item ) {
                        $s .= $item;
@@ -2585,15 +2590,18 @@ $templates
 
                $ret .= Html::element( 'title', null, $this->getHTMLTitle() ) . "\n";
 
-               $ret .= (
-                       $this->getHeadLinks() .
-                       "\n" .
-                       $this->buildCssLinks() .
-                       // No newline after buildCssLinks since makeResourceLoaderLink did that already
-                       $this->getHeadScripts() .
-                       "\n" .
-                       $this->getHeadItems()
-               );
+               foreach ( $this->getHeadLinksArray() as $item ) {
+                       $ret .= $item . "\n";
+               }
+
+               // No newline after buildCssLinks since makeResourceLoaderLink did that already
+               $ret .= $this->buildCssLinks();
+
+               $ret .= $this->getHeadScripts() . "\n";
+
+               foreach ( $this->mHeadItems as $item ) {
+                       $ret .= $item . "\n";
+               }
 
                $closeHead = Html::closeElement( 'head' );
                if ( $closeHead ) {
@@ -3434,8 +3442,11 @@ $templates
 
        /**
         * @return string HTML tag links to be put in the header.
+        * @deprecated since 1.24 Use OutputPage::headElement or if you have to,
+        *   OutputPage::getHeadLinksArray directly.
         */
        public function getHeadLinks() {
+               wfDeprecated( __METHOD__, '1.24' );
                return implode( "\n", $this->getHeadLinksArray() );
        }
 
index 1f1b7dd..62aac3b 100644 (file)
@@ -1010,29 +1010,13 @@ class Preferences {
         * @param array $defaultPreferences
         */
        static function searchPreferences( $user, IContextSource $context, &$defaultPreferences ) {
-               global $wgContLang;
-
-               $defaultPreferences['searcheverything'] = array(
-                       'type' => 'toggle',
-                       'label-message' => 'searcheverything-enable',
-                       'section' => 'searchoptions/advancedsearchoptions',
-               );
-
-               $nsOptions = $wgContLang->getFormattedNamespaces();
-               $nsOptions[0] = $context->msg( 'blanknamespace' )->text();
-               foreach ( $nsOptions as $ns => $name ) {
-                       if ( $ns < 0 ) {
-                               unset( $nsOptions[$ns] );
+               foreach ( MWNamespace::getValidNamespaces() as $n ) {
+                       if ( $n >= 0 ) {
+                               $defaultPreferences[ 'searchNs' . $n ] = array(
+                                       'type' => 'api',
+                               );
                        }
                }
-
-               $defaultPreferences['searchnamespaces'] = array(
-                       'type' => 'multiselect',
-                       'label-message' => 'defaultns',
-                       'options' => array_flip( $nsOptions ),
-                       'section' => 'searchoptions/advancedsearchoptions',
-                       'prefix' => 'searchNs',
-               );
        }
 
        /**
index 08816ad..86bd979 100644 (file)
@@ -86,12 +86,6 @@ class SkinTemplate extends Skin {
         */
        public $template = 'QuickTemplate';
 
-       /**
-        * @var bool Whether this skin use OutputPage::headElement() to generate
-        *   the "<head>" tag.
-        */
-       public $useHeadElement = false;
-
        /**
         * Add specific styles for this skin
         *
@@ -290,26 +284,6 @@ class SkinTemplate extends Skin {
                $out = $this->getOutput();
                $tpl = $this->setupTemplateForOutput();
 
-               wfProfileIn( __METHOD__ . '-stuff-head' );
-               if ( !$this->useHeadElement ) {
-                       $tpl->set( 'pagecss', false );
-                       $tpl->set( 'usercss', false );
-
-                       $tpl->set( 'userjs', false );
-                       $tpl->set( 'userjsprev', false );
-
-                       $tpl->set( 'jsvarurl', false );
-
-                       $tpl->set( 'xhtmldefaultnamespace', 'http://www.w3.org/1999/xhtml' );
-                       $tpl->set( 'xhtmlnamespaces', $wgXhtmlNamespaces );
-                       $tpl->set( 'html5version', $wgHtml5Version );
-                       $tpl->set( 'headlinks', $out->getHeadLinks() );
-                       $tpl->set( 'csslinks', $out->buildCssLinks() );
-                       $tpl->set( 'pageclass', $this->getPageClasses( $title ) );
-                       $tpl->set( 'skinnameclass', ( 'skin-' . Sanitizer::escapeClass( $this->getSkinName() ) ) );
-               }
-               wfProfileOut( __METHOD__ . '-stuff-head' );
-
                wfProfileIn( __METHOD__ . '-stuff2' );
                $tpl->set( 'title', $out->getPageTitle() );
                $tpl->set( 'pagetitle', $out->getHTMLTitle() );
@@ -540,11 +514,7 @@ class SkinTemplate extends Skin {
                $tpl->set( 'nav_urls', $this->buildNavUrls() );
 
                // Set the head scripts near the end, in case the above actions resulted in added scripts
-               if ( $this->useHeadElement ) {
-                       $tpl->set( 'headelement', $out->headElement( $this ) );
-               } else {
-                       $tpl->set( 'headscripts', $out->getHeadScripts() . $out->getHeadItems() );
-               }
+               $tpl->set( 'headelement', $out->headElement( $this ) );
 
                $tpl->set( 'debug', '' );
                $tpl->set( 'debughtml', $this->generateDebugHTML() );
index 3e176ae..b5fb1ff 100644 (file)
@@ -2549,6 +2549,8 @@ class User {
        /**
         * Set the given option for a user.
         *
+        * You need to call saveSettings() to actually write to the database.
+        *
         * @param string $oname The option to set
         * @param mixed $val New value to set
         */
@@ -4776,7 +4778,9 @@ class User {
        }
 
        /**
-        * @todo document
+        * Saves the non-default options for this user, as previously set e.g. via
+        * setOption(), in the database's "user_properties" (preferences) table.
+        * Usually used via saveSettings().
         */
        protected function saveOptions() {
                $this->loadOptions();
index c9b3f8f..16e407f 100644 (file)
@@ -41,7 +41,6 @@ class RenderAction extends FormlessAction {
        }
 
        public function show() {
-
                $this->page->render();
        }
 }
index 28ed5e4..9a472f5 100644 (file)
@@ -68,11 +68,27 @@ class ApiExpandTemplates extends ApiBase {
                        ApiResult::setContent( $xml_result, $xml );
                        $result->addValue( null, 'parsetree', $xml_result );
                }
-               $retval = $wgParser->preprocess( $params['text'], $title_obj, $options );
+               $frame = $wgParser->getPreprocessor()->newFrame();
+               $retval = $wgParser->preprocess( $params['text'], $title_obj, $options, null, $frame );
+               $categories = $wgParser->getOutput()->getCategories();
+               if ( !empty( $categories ) ) {
+                       $categories_result = array();
+                       foreach ( $categories as $category => $sortkey ) {
+                               $entry = array();
+                               $entry['sortkey'] = $sortkey;
+                               ApiResult::setContent( $entry, $category );
+                               $categories_result[] = $entry;
+                       }
+                       $result->setIndexedTagName( $categories_result, 'category' );
+                       $result->addValue( null, 'categories', $categories_result );
+               }
 
                // Return result
                $retval_array = array();
                ApiResult::setContent( $retval_array, $retval );
+               if ( $frame->isVolatile() ) {
+                       $retval_array['volatile'] = '';
+               }
                $result->addValue( null, $this->getModuleName(), $retval_array );
        }
 
index 1cbd1e2..3d7267a 100644 (file)
@@ -521,7 +521,6 @@ class DatabasePostgres extends DatabaseBase {
        }
 
        function reportQueryError( $error, $errno, $sql, $fname, $tempIgnore = false ) {
-               /* Transaction stays in the ERROR state until rolledback */
                if ( $tempIgnore ) {
                        /* Check for constraint violation */
                        if ( $errno === '23505' ) {
@@ -530,8 +529,10 @@ class DatabasePostgres extends DatabaseBase {
                                return;
                        }
                }
-               /* Don't ignore serious errors */
-               $this->rollback( __METHOD__ );
+               /* Transaction stays in the ERROR state until rolledback */
+               if ( $this->mTrxLevel ) {
+                       $this->rollback( __METHOD__ );
+               };
                parent::reportQueryError( $error, $errno, $sql, $fname, false );
        }
 
index 9249a09..9ef23f8 100644 (file)
@@ -1066,10 +1066,11 @@ class SwiftFileBackend extends FileBackendStore {
                        list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = $op['response'];
                        fclose( $op['stream'] ); // close open handle
                        if ( $rcode >= 200 && $rcode <= 299 ) {
+                               $size = $tmpFiles[$path] ? $tmpFiles[$path]->getSize() : 0;
                                // Double check that the disk is not full/broken
-                               if ( $tmpFiles[$path]->getSize() != $rhdrs['content-length'] ) {
+                               if ( $size != $rhdrs['content-length'] ) {
                                        $tmpFiles[$path] = null;
-                                       $rerr = "Got {$tmpFiles[$path]->getSize()}/{$rhdrs['content-length']} bytes";
+                                       $rerr = "Got {$size}/{$rhdrs['content-length']} bytes";
                                        $this->onError( null, __METHOD__,
                                                array( 'src' => $path ) + $ep, $rerr, $rcode, $rdesc );
                                }
index bee8498..950ee44 100644 (file)
@@ -56,6 +56,7 @@
        "config-mssql-auth": "Тип провере идентитета:",
        "config-mssql-sqlauth": "Провера идентитета за SQL Server",
        "config-mssql-windowsauth": "Провера идентитета Windows-а",
+       "config-site-name": "Име викија:",
        "config-admin-name": "Корисничко име:",
        "config-admin-password": "Лозинка:",
        "config-admin-email": "Адреса е-поште:",
@@ -64,6 +65,7 @@
        "config-license-cc-by-sa": "Creative Commons Ауторство-Делити под истим условима (CC BY-SA)",
        "config-license-cc-by": "Creative Commons Ауторство (CC BY)",
        "config-license-cc-by-nc-sa": "Creative Commons Ауторство-Некомерцијално-Делити под истим условима (CC BY-NC-SA)",
+       "config-license-cc-0": "Creative Commons Zero (јавно власништво)",
        "config-license-gfdl": "ГНУ-ова лиценца за слободну документацију верзија 1.3 или новија верзија",
        "config-license-pd": "Јавно власништво",
        "mainpagetext": "'''Медијавики је успешно инсталиран.'''",
index d5f06a0..fcb7a3e 100644 (file)
@@ -18,7 +18,8 @@
                        "Liuxinyu970226",
                        "Qiyue2001",
                        "Kuailong",
-                       "Zjzengdongyang"
+                       "Zjzengdongyang",
+                       "Mywood"
                ]
        },
        "config-desc": "MediaWiki安装程序",
        "config-instantcommons-help": "[//www.mediawiki.org/wiki/InstantCommons 即时共享资源]可以让wiki使用来自[//commons.wikimedia.org/ 维基共享资源]网站的图像、音频和其他媒体文件。要启用该功能,MediaWiki必须能够访问互联网。\n\n有关此功能的详细信息,包括如何将其他wiki网站设为具有类似共享功能的方法,请参考[//www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgForeignFileRepos 手册]。",
        "config-cc-error": "知识共享许可证挑选器无法找到结果,请手动输入许可证的名称。",
        "config-cc-again": "重新挑选……",
-       "config-cc-not-chosen": "选择您希望使用的知识共享许可证,并点击“继续”。",
+       "config-cc-not-chosen": "选择你想要的知识共享许可协议并单击“proceed”。",
        "config-advanced-settings": "高级设置",
        "config-cache-options": "对象缓存设置:",
        "config-cache-help": "对象缓存可通过缓存频繁使用的数据来提高MediaWiki的速度。高度推荐中到大型的网站启用该功能,小型网站亦能从其中受益。",
index d893be5..bebe3a9 100644 (file)
@@ -504,6 +504,10 @@ class ManualLogEntry extends LogEntryBase {
                        'log_comment' => $comment,
                        'log_params' => serialize( (array)$this->getParameters() ),
                );
+               if ( isset( $this->deleted ) ) {
+                       $data['log_deleted'] = $this->deleted;
+               }
+
                $dbw->insert( 'logging', $data, __METHOD__ );
                $this->id = !is_null( $id ) ? $id : $dbw->insertId();
 
index b9a8ab7..efc02fe 100644 (file)
@@ -579,9 +579,7 @@ abstract class MediaHandler {
         * @return string
         */
        function getShortDesc( $file ) {
-               global $wgLang;
-
-               return htmlspecialchars( $wgLang->formatSize( $file->getSize() ) );
+               return self::getGeneralShortDesc( $file );
        }
 
        /**
@@ -591,10 +589,7 @@ abstract class MediaHandler {
         * @return string
         */
        function getLongDesc( $file ) {
-               global $wgLang;
-
-               return wfMessage( 'file-info', htmlspecialchars( $wgLang->formatSize( $file->getSize() ) ),
-                       $file->getMimeType() )->parse();
+               return self::getGeneralLongDesc( $file );
        }
 
        /**
@@ -606,7 +601,7 @@ abstract class MediaHandler {
        static function getGeneralShortDesc( $file ) {
                global $wgLang;
 
-               return $wgLang->formatSize( $file->getSize() );
+               return htmlspecialchars( $wgLang->formatSize( $file->getSize() ) );
        }
 
        /**
@@ -616,10 +611,8 @@ abstract class MediaHandler {
         * @return string
         */
        static function getGeneralLongDesc( $file ) {
-               global $wgLang;
-
-               return wfMessage( 'file-info', $wgLang->formatSize( $file->getSize() ),
-                       $file->getMimeType() )->parse();
+               return wfMessage( 'file-info' )->sizeParams( $file->getSize() )
+                       ->params( $file->getMimeType() )->parse();
        }
 
        /**
index cf174ec..d0d29d3 100644 (file)
@@ -617,13 +617,15 @@ class Parser {
        /**
         * Expand templates and variables in the text, producing valid, static wikitext.
         * Also removes comments.
+        * Do not call this function recursively.
         * @param string $text
         * @param Title $title
         * @param ParserOptions $options
         * @param int|null $revid
+        * @param bool|PPFrame $frame
         * @return mixed|string
         */
-       function preprocess( $text, Title $title = null, ParserOptions $options, $revid = null ) {
+       function preprocess( $text, Title $title = null, ParserOptions $options, $revid = null, $frame = false ) {
                wfProfileIn( __METHOD__ );
                $magicScopeVariable = $this->lock();
                $this->startParse( $title, $options, self::OT_PREPROCESS, true );
@@ -632,7 +634,7 @@ class Parser {
                }
                wfRunHooks( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
                wfRunHooks( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
-               $text = $this->replaceVariables( $text );
+               $text = $this->replaceVariables( $text, $frame );
                $text = $this->mStripState->unstripBoth( $text );
                wfProfileOut( __METHOD__ );
                return $text;
index fa73cf2..90617b3 100644 (file)
@@ -663,7 +663,7 @@ class ParserOptions {
         * Generate a hash string with the values set on these ParserOptions
         * for the keys given in the array.
         * This will be used as part of the hash key for the parser cache,
-        * so users sharign the options with vary for the same page share
+        * so users sharing the options with vary for the same page share
         * the same cached data safely.
         *
         * Extensions which require it should install 'PageRenderingHash' hook,
index 25b34fa..e7ccd10 100644 (file)
@@ -165,6 +165,30 @@ interface PPFrame {
         */
        function isTemplate();
 
+       /**
+        * Set the "volatile" flag.
+        *
+        * Note that this is somewhat of a "hack" in order to make extensions
+        * with side effects (such as Cite) work with the PHP parser. New
+        * extensions should be written in a way that they do not need this
+        * function, because other parsers (such as Parsoid) are not guaranteed
+        * to respect it, and it may be removed in the future.
+        *
+        * @param bool $flag
+        */
+       function setVolatile( $flag = true );
+
+       /**
+        * Get the "volatile" flag.
+        *
+        * Callers should avoid caching the result of an expansion if it has the
+        * volatile flag set.
+        *
+        * @see self::setVolatile()
+        * @return bool
+        */
+       function isVolatile();
+
        /**
         * Get a title of frame
         *
index 4f5ebc8..dbbeddb 100644 (file)
@@ -983,6 +983,8 @@ class PPFrame_DOM implements PPFrame {
         */
        var $depth;
 
+       private $volatile = false;
+
        /**
         * @var array
         */
@@ -1485,6 +1487,24 @@ class PPFrame_DOM implements PPFrame {
        function getTitle() {
                return $this->title;
        }
+
+       /**
+        * Set the volatile flag
+        *
+        * @param bool $flag
+        */
+       function setVolatile( $flag = true ) {
+               $this->volatile = $flag;
+       }
+
+       /**
+        * Get the volatile flag
+        *
+        * @return bool
+        */
+       function isVolatile() {
+               return $this->volatile;
+       }
 }
 
 /**
@@ -1552,10 +1572,14 @@ class PPTemplateFrame_DOM extends PPFrame_DOM {
         * @return string
         */
        function cachedExpand( $key, $root, $flags = 0 ) {
-               if ( !isset( $this->parent->childExpansionCache[$key] ) ) {
-                       $this->parent->childExpansionCache[$key] = $this->expand( $root, $flags );
+               if ( isset( $this->parent->childExpansionCache[$key] ) ) {
+                       return $this->parent->childExpansionCache[$key];
                }
-               return $this->parent->childExpansionCache[$key];
+               $retval = $this->expand( $root, $flags );
+               if ( !$this->isVolatile() ) {
+                       $this->parent->childExpansionCache[$key] = $retval;
+               }
+               return $retval;
        }
 
        /**
@@ -1635,6 +1659,11 @@ class PPTemplateFrame_DOM extends PPFrame_DOM {
        function isTemplate() {
                return true;
        }
+
+       function setVolatile( $flag = true ) {
+               parent::setVolatile( $flag );
+               $this->parent->setVolatile( $flag );
+       }
 }
 
 /**
index cb652ac..ad61eec 100644 (file)
@@ -919,6 +919,8 @@ class PPFrame_Hash implements PPFrame {
         */
        var $depth;
 
+       private $volatile = false;
+
        /**
         * @var array
         */
@@ -1390,6 +1392,24 @@ class PPFrame_Hash implements PPFrame {
        function getTitle() {
                return $this->title;
        }
+
+       /**
+        * Set the volatile flag
+        *
+        * @param bool $flag
+        */
+       function setVolatile( $flag = true ) {
+               $this->volatile = $flag;
+       }
+
+       /**
+        * Get the volatile flag
+        *
+        * @return bool
+        */
+       function isVolatile() {
+               return $this->volatile;
+       }
 }
 
 /**
@@ -1452,10 +1472,14 @@ class PPTemplateFrame_Hash extends PPFrame_Hash {
         * @return string
         */
        function cachedExpand( $key, $root, $flags = 0 ) {
-               if ( !isset( $this->parent->childExpansionCache[$key] ) ) {
-                       $this->parent->childExpansionCache[$key] = $this->expand( $root, $flags );
+               if ( isset( $this->parent->childExpansionCache[$key] ) ) {
+                       return $this->parent->childExpansionCache[$key];
                }
-               return $this->parent->childExpansionCache[$key];
+               $retval = $this->expand( $root, $flags );
+               if ( !$this->isVolatile() ) {
+                       $this->parent->childExpansionCache[$key] = $retval;
+               }
+               return $retval;
        }
 
        /**
@@ -1556,6 +1580,11 @@ class PPTemplateFrame_Hash extends PPFrame_Hash {
        function isTemplate() {
                return true;
        }
+
+       function setVolatile( $flag = true ) {
+               parent::setVolatile( $flag );
+               $this->parent->setVolatile( $flag );
+       }
 }
 
 /**
index 3d0655b..4663ab8 100644 (file)
@@ -368,20 +368,8 @@ class SearchEngine {
         * @return array
         */
        public static function userNamespaces( $user ) {
-               global $wgSearchEverythingOnlyLoggedIn;
-
-               $searchableNamespaces = SearchEngine::searchableNamespaces();
-
-               // get search everything preference, that can be set to be read for logged-in users
-               // it overrides other options
-               if ( !$wgSearchEverythingOnlyLoggedIn || $user->isLoggedIn() ) {
-                       if ( $user->getOption( 'searcheverything' ) ) {
-                               return array_keys( $searchableNamespaces );
-                       }
-               }
-
                $arr = array();
-               foreach ( $searchableNamespaces as $ns => $name ) {
+               foreach ( SearchEngine::searchableNamespaces() as $ns => $name ) {
                        if ( $user->getOption( 'searchNs' . $ns ) ) {
                                $arr[] = $ns;
                        }
index 33bd87f..ee7ddfd 100644 (file)
@@ -209,6 +209,7 @@ class SpecialSearch extends SpecialPage {
                $search = $this->getSearchEngine();
                $search->setLimitOffset( $this->limit, $this->offset );
                $search->setNamespaces( $this->namespaces );
+               $this->saveNamespaces();
                $search->prefix = $this->mPrefix;
                $term = $search->transformSearchTerm( $term );
 
@@ -522,6 +523,39 @@ class SpecialSearch extends SpecialPage {
                return $opt + $this->extraParams;
        }
 
+       /**
+        * Save namespace preferences when we're supposed to
+        *
+        * @return bool Whether we wrote something
+        */
+       protected function saveNamespaces() {
+               $user = $this->getUser();
+               $request = $this->getRequest();
+
+               if ( $user->isLoggedIn() &&
+                       !is_null( $request->getVal( 'nsRemember' ) ) &&
+                       $user->matchEditToken( $request->getVal( 'nsToken' ) )
+               ) {
+                       // Reset namespace preferences: namespaces are not searched
+                       // when they're not mentioned in the URL parameters.
+                       foreach ( MWNamespace::getValidNamespaces() as $n ) {
+                               if ( $n >= 0 ) {
+                                       $user->setOption( 'searchNs' . $n, false );
+                               }
+                       }
+                       // The request parameters include all the namespaces we just searched.
+                       // Even if they're the same as an existing profile, they're not eaten.
+                       foreach ( $this->namespaces as $n ) {
+                               $user->setOption( 'searchNs' . $n, true );
+                       }
+
+                       $user->saveSettings();
+                       return true;
+               }
+
+               return false;
+       }
+
        /**
         * Show whole set of results
         *
@@ -940,6 +974,19 @@ class SpecialSearch extends SpecialPage {
                        $hidden .= Html::hidden( $key, $value );
                }
 
+               # Stuff to feed saveNamespaces()
+               $remember = '';
+               $user = $this->getUser();
+               if ( $user->isLoggedIn() ) {
+                       $remember .= Html::hidden( 'nsToken', $user->getEditToken() ) .
+                       Xml::checkLabel(
+                               wfMessage( 'powersearch-remember' )->text(),
+                               'nsRemember',
+                               'mw-search-powersearch-remember',
+                               false
+                       );
+               }
+
                // Return final output
                return Xml::openElement(
                        'fieldset',
@@ -951,6 +998,8 @@ class SpecialSearch extends SpecialPage {
                        Xml::element( 'div', array( 'class' => 'divider' ), '', false ) .
                        implode( Xml::element( 'div', array( 'class' => 'divider' ), '', false ), $showSections ) .
                        $hidden .
+                       Xml::element( 'div', array( 'class' => 'divider' ), '', false ) .
+                       $remember .
                        Xml::closeElement( 'fieldset' );
        }
 
index 51235ee..04b36c7 100644 (file)
@@ -492,15 +492,12 @@ class PageArchive {
                        $previousTimestamp = 0;
                }
 
-               if ( $restoreAll ) {
-                       $oldones = '1 = 1'; # All revisions...
-               } else {
-                       $oldts = implode( ',',
-                               array_map( array( &$dbw, 'addQuotes' ),
-                                       array_map( array( &$dbw, 'timestamp' ),
-                                               $timestamps ) ) );
-
-                       $oldones = "ar_timestamp IN ( {$oldts} )";
+               $oldWhere = array(
+                       'ar_namespace' => $this->title->getNamespace(),
+                       'ar_title' => $this->title->getDBkey(),
+               );
+               if ( !$restoreAll ) {
+                       $oldWhere['ar_timestamp'] = array_map( array( &$dbw, 'timestamp' ), $timestamps );
                }
 
                $fields = array(
@@ -529,10 +526,7 @@ class PageArchive {
                 */
                $result = $dbw->select( 'archive',
                        $fields,
-                       /* WHERE */ array(
-                               'ar_namespace' => $this->title->getNamespace(),
-                               'ar_title' => $this->title->getDBkey(),
-                               $oldones ),
+                       $oldWhere,
                        __METHOD__,
                        /* options */ array( 'ORDER BY' => 'ar_timestamp' )
                );
@@ -618,10 +612,7 @@ class PageArchive {
                }
                # Now that it's safely stored, take it out of the archive
                $dbw->delete( 'archive',
-                       /* WHERE */ array(
-                               'ar_namespace' => $this->title->getNamespace(),
-                               'ar_title' => $this->title->getDBkey(),
-                               $oldones ),
+                       $oldWhere,
                        __METHOD__ );
 
                // Was anything restored at all?
index 41847dc..657999c 100644 (file)
@@ -377,9 +377,7 @@ class SpecialVersion extends SpecialPage {
         * Returns an array with the base extension types.
         * Type is stored as array key, the message as array value.
         *
-        * TODO: ideally this would return all extension types, including
-        * those added by SpecialVersionExtensionTypes. This is not possible
-        * since this hook is passing along $this though.
+        * TODO: ideally this would return all extension types.
         *
         * @since 1.17
         *
@@ -433,8 +431,6 @@ class SpecialVersion extends SpecialPage {
 
                $extensionTypes = self::getExtensionTypes();
 
-               wfRunHooks( 'SpecialVersionExtensionTypes', array( &$this, &$extensionTypes ), '1.17' );
-
                $out = Xml::element(
                                'h2',
                                array( 'id' => 'mw-version-ext' ),
index 6c95985..e748e61 100644 (file)
@@ -394,11 +394,24 @@ class IP {
        public static function toHex( $ip ) {
                if ( self::isIPv6( $ip ) ) {
                        $n = 'v6-' . self::IPv6ToRawHex( $ip );
-               } else {
-                       $n = self::toUnsigned( $ip );
+               } elseif ( self::isIPv4( $ip ) ) {
+                       // Bug 60035: an IP with leading 0's fails in ip2long sometimes (e.g. *.08)
+                       $ip = preg_replace( '/(?<=\.)0+(?=[1-9])/', '', $ip );
+                       $n = ip2long( $ip );
+                       if ( $n < 0 ) {
+                               $n += pow( 2, 32 );
+                               # On 32-bit platforms (and on Windows), 2^32 does not fit into an int,
+                               # so $n becomes a float. We convert it to string instead.
+                               if ( is_float( $n ) ) {
+                                       $n = (string)$n;
+                               }
+                       }
                        if ( $n !== false ) {
-                               $n = wfBaseConvert( $n, 10, 16, 8, false );
+                               # Floating points can handle the conversion; faster than wfBaseConvert()
+                               $n = strtoupper( str_pad( base_convert( $n, 10, 16 ), 8, '0', STR_PAD_LEFT ) );
                        }
+               } else {
+                       $n = false;
                }
 
                return $n;
@@ -423,33 +436,6 @@ class IP {
                return $r_ip;
        }
 
-       /**
-        * Given an IP address in dotted-quad/octet notation, returns an unsigned integer.
-        * Like ip2long() except that it actually works and has a consistent error return value.
-        *
-        * @param string $ip quad dotted IP address.
-        * @return Mixed: string/int/false
-        */
-       public static function toUnsigned( $ip ) {
-               if ( self::isIPv6( $ip ) ) {
-                       $n = wfBaseConvert( self::IPv6ToRawHex( $ip ), 16, 10 );
-               } else {
-                       // Bug 60035: an IP with leading 0's fails in ip2long sometimes (e.g. *.08)
-                       $ip = preg_replace( '/(?<=\.)0+(?=[1-9])/', '', $ip );
-                       $n = ip2long( $ip );
-                       if ( $n < 0 ) {
-                               $n += pow( 2, 32 );
-                               # On 32-bit platforms (and on Windows), 2^32 does not fit into an int,
-                               # so $n becomes a float. We convert it to string instead.
-                               if ( is_float( $n ) ) {
-                                       $n = (string)$n;
-                               }
-                       }
-               }
-
-               return $n;
-       }
-
        /**
         * Convert a network specification in CIDR notation
         * to an integer network and a number of bits
@@ -608,7 +594,7 @@ class IP {
                                $start = "v6-$start";
                                $end = "v6-$end";
                        }
-       // Explicit range notation...
+               // Explicit range notation...
                } elseif ( strpos( $range, '-' ) !== false ) {
                        list( $start, $end ) = array_map( 'trim', explode( '-', $range, 2 ) );
                        $start = self::toHex( $start );
index 68d3d11..5b74395 100644 (file)
        "revdelete-hide-user": "Steek redigeerder se gebruikersnaam/IP weg",
        "revdelete-hide-restricted": "Onderdruk data van administrateurs asook andere",
        "revdelete-radio-same": "(moenie verander nie)",
-       "revdelete-radio-set": "Ja",
-       "revdelete-radio-unset": "Nee",
+       "revdelete-radio-set": "Versteek",
+       "revdelete-radio-unset": "Sigbaar",
        "revdelete-suppress": "Onderdruk data van administrateurs en ander.",
        "revdelete-unsuppress": "Verwyder beperkinge op herstelde weergawes",
        "revdelete-log": "Rede:",
        "searchmenu-exists": "'''Daar is reeds 'n bladsy genaamd \"[[:$1]]\" op die wiki'''",
        "searchmenu-new": "<strong>Skep die bladsy \"[[:$1]]\" op hierdie wiki</strong> {{PLURAL:$2|0=|Sien ook die bladsy wat in u soektog gevind is.|Sien ook die soekresultate wat gevind is.}}",
        "searchprofile-articles": "Inhoudelike bladsye",
-       "searchprofile-project": "Hulp- en projekbladsye",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Alles",
        "searchprofile-advanced": "Uitgebreid",
        "searchprofile-articles-tooltip": "Soek in $1",
-       "searchprofile-project-tooltip": "Soek in $1",
        "searchprofile-images-tooltip": "Soek na lêers",
        "searchprofile-everything-tooltip": "Soek deur alle inhoud (ook besprekingsbladsye)",
        "searchprofile-advanced-tooltip": "Soek in spesifieke naamruimtes",
        "search-interwiki-default": "Resultate van $1:",
        "search-interwiki-more": "(meer)",
        "search-relatedarticle": "Verwante",
-       "searcheverything-enable": "Soek in alle naamruimtes",
        "searchrelated": "verwante",
        "searchall": "alle",
        "showingresults": "Hier volg {{PLURAL:$1|'''1''' resultaat|'''$1''' resultate}} vanaf #'''$2'''.",
        "allowemail": "Laat e-pos van ander toe",
        "prefs-searchoptions": "Soek",
        "prefs-namespaces": "Naamruimtes",
-       "defaultns": "Anders, soek in hierdie naamruimtes:",
        "default": "verstek",
        "prefs-files": "Lêers",
        "prefs-custom-css": "Persoonlike CSS",
        "pageinfo-category-pages": "Aantal bladsye",
        "pageinfo-category-subcats": "Aantal subkategorieë",
        "pageinfo-category-files": "Aantal lêers",
-       "skinname-cologneblue": "Keulen blou",
        "markaspatrolleddiff": "Merk as gekontroleerd",
        "markaspatrolledtext": "Merk hierdie bladsy as gekontroleerd",
        "markedaspatrolled": "As gekontroleerd gemerk",
        "watchlistedit-raw-done": "U dophoulys is opgedateer.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 titel|$1 titels}} was bygevoeg:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 titel|$1 titels}} verwyder:",
+       "watchlistedit-clear-titles": "Titels:",
        "watchlisttools-view": "Besigtig veranderinge",
        "watchlisttools-edit": "Bekyk en wysig dophoulys",
        "watchlisttools-raw": "Wysig bronkode",
        "htmlform-no": "Nee",
        "htmlform-yes": "Ja",
        "htmlform-chosen-placeholder": "Kies 'n opsie",
+       "htmlform-cloner-create": "Meer meer by",
        "htmlform-cloner-delete": "Verwyder",
        "htmlform-cloner-required": "Ten minste één waarde verwag.",
        "sqlite-has-fts": "Weergawe $1 met ondersteuning vir vol-teks soektogte (\"full-text search\")",
index 6290b74..f5beabd 100644 (file)
        "search-interwiki-default": "$1 nəticə:",
        "search-interwiki-more": "(yenə)",
        "search-relatedarticle": "əlaqədar",
-       "searcheverything-enable": "Ad aralığında axtar:",
        "searchrelated": "əlaqəli",
        "searchall": "bütün",
        "showingresults": "Aşağıda #'''$2''' ilə başlayan {{PLURAL:$1|'''$1'''-ə qədər}} nəticə göstərilib.",
        "allowemail": "Digər istifadəçilər mənə e-məktub göndərə bilər",
        "prefs-searchoptions": "Axtarış kriteriyaları",
        "prefs-namespaces": "Adlar fəzası",
-       "defaultns": "Yaxud bu adlar fəzasında axtar:",
        "default": "boş",
        "prefs-files": "Fayllar",
        "prefs-custom-css": "Xüsusi CSS",
index 4bbe324..c0e0311 100644 (file)
        "querypage-no-updates": "'''Dé Aktualisiarungsfunkzión voh derer Seiten is derzeid deaktivird. Dé Daaten wern bis auf Weiders néd daneiert.'''",
        "viewsource": "Quejtext ozoagn",
        "viewsource-title": "Quöntext voh da Seiten $1 auhschauh",
-       "actionthrottled": "Akziónszoi limitird",
-       "actionthrottledtext": "Im Råmen voh ner Anti-Spam-Moossnåm kå dé Akzión do in am kurzen Zeidobstånd netter begrenzd ausgfyrd wern. Dé Grenzen host ywerschritten.\nBittscheh vasuachs in a por Minunten nuamoi.",
+       "actionthrottled": "Aktionsfrequenz drossld",
+       "actionthrottledtext": "A Anti-Spam-Skript begrenzd de Ozoi vo de Vaendarunga pro Minutn. Vasuachs in a boar Minutn wieda.",
        "protectedpagetext": "Dé Seiten is gschytzd worn, um Beorweitungen z' vahindern.",
        "viewsourcetext": "Du kåst ower 'n Quötext åschaung und kópirn:",
        "viewyourtext": "Du kåst 'n Quejtext vah '''deiner Beorwatung''' derer Seiten betrochten und kópiern:",
        "delete-legend": "Léschen",
        "historywarning": "'''Ochtung:''' Dé Seiten, dé du léschen mecherst, hod a Versiónsgschicht mid epper $1 {{PLURAL:$1|Versión|Versiónen}}:",
        "confirmdeletetext": "Du bist dabei, a Seiten mid olle zuaghering ödern Versiónen z' léschen. Bittscheh bstätig dodazua, daas da d' Kónsequenzen bewusst san und daas du in Ywereihstimmung mid d' [[{{MediaWiki:Policy-url}}|Richtlinien]] haundelst.",
-       "actioncomplete": "Aktion beendt",
-       "actionfailed": "Akzion fejgschlogn",
+       "actioncomplete": "Aktion fiate",
+       "actionfailed": "Aktion faigschlogn",
        "deletedtext": "„$1“ is glöscht worn. Im $2 findn Sie a Listn vo de letzten Löschungen.",
        "dellogpage": "Lesch-Logbuach",
        "deletionlog": "Lösch-Logbuach",
index 7b3e12e..1864d83 100644 (file)
        "search-interwiki-default": "$1 na mga resulta:",
        "search-interwiki-more": "(dakol pa)",
        "search-relatedarticle": "Kauyon",
-       "searcheverything-enable": "Maghanap sa gabos na mga espasyong-ngaran",
        "searchrelated": "kauyon",
        "searchall": "gabós",
        "showingresults": "Pigpapahiling sa babâ sagkod sa {{PLURAL:$1|'''1''' resulta|'''$1''' mga resulta}} poon sa #'''$2'''.",
        "allowemail": "Togotan an mga ''e''-surat halî sa ibang mga parágamit",
        "prefs-searchoptions": "Hanapa",
        "prefs-namespaces": "Pangarang mga espasyo",
-       "defaultns": "Kun laen maghanap sa laog kaining pangarang mga espasyo:",
        "default": "pwestong normal",
        "prefs-files": "Mga dokumento",
        "prefs-custom-css": "Kustombreng CSS",
index 1bc9aee..553002d 100644 (file)
        "search-interwiki-default": "Вынікі з $1:",
        "search-interwiki-more": "(яшчэ)",
        "search-relatedarticle": "Зьвязаны",
-       "searcheverything-enable": "Шукаць ва ўсіх прасторах назваў",
        "searchrelated": "зьвязаны",
        "searchall": "усе",
        "showingresults": "Ніжэй {{PLURAL:$1|паданы|паданыя|паданыя}} да '''$1''' {{PLURAL:$1|выніку|вынікаў|вынікаў}}, пачынаючы з #<b>$2</b>.",
        "powersearch-togglelabel": "Пазначыць:",
        "powersearch-toggleall": "Усе",
        "powersearch-togglenone": "Нічога",
+       "powersearch-remember": "Запомніць выбар для будучых пошукаў",
        "search-external": "Вонкавы пошук",
        "searchdisabled": "Функцыя пошуку ў {{GRAMMAR:месны|{{SITENAME}}}} адключаная.\nВы можаце пашукаць з дапамогай Google, але заўважце, што там інфармацыя пра старонкі {{GRAMMAR:родны|{{SITENAME}}}} можа быць састарэлай.",
        "search-error": "Узьнікла памылка пры пошуку: $1",
        "allowemail": "Дазволіць атрыманьне лістоў ад іншых удзельнікаў і ўдзельніц",
        "prefs-searchoptions": "Пошук",
        "prefs-namespaces": "Прасторы назваў",
-       "defaultns": "Інакш шукаць у наступных прасторах назваў:",
        "default": "па змоўчваньні",
        "prefs-files": "Файлы",
        "prefs-custom-css": "Індывідуальны CSS",
        "watchlistedit-clear-titles": "Старонкі:",
        "watchlistedit-clear-submit": "Ачысьціць сьпіс назіраньня (гэта незваротна!)",
        "watchlistedit-clear-done": "Ваш сьпіс назіраньня быў ачышчаны.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|$1 запіс быў выдалены|$1 запісы былі выдаленыя|$1 запісаў былі выдаленыя}}:",
+       "watchlistedit-too-many": "Зашмат старонак, каб паказаць іх тут.",
        "watchlisttools-view": "Паказаць зьмены ў старонках зь сьпісу",
        "watchlisttools-edit": "Праглядзець альбо рэдагаваць сьпіс назіраньня",
        "watchlisttools-raw": "Рэдагаваць як тэкст",
index b968e65..78c1402 100644 (file)
        "permalink": "Нязменная спасылка",
        "print": "Друкаваць",
        "view": "Паказ",
+       "view-foreign": "Глядзець на $1",
        "edit": "Правіць",
+       "edit-local": "Правіць тутэйшае апісанне",
        "create": "Стварыць",
+       "create-local": "Дадаць тутэйшае апісанне",
        "editthispage": "Правіць гэту старонку",
        "create-this-page": "Стварыць старонку",
        "delete": "сцерці",
        "unprotectthispage": "Змяніць ахову гэтай старонкі",
        "newpage": "Новая старонка",
        "talkpage": "Размовы пра гэтую старонку",
-       "talkpagelinktext": "размова",
+       "talkpagelinktext": "Размовы",
        "specialpage": "Адмысловая старонка",
        "personaltools": "Асабістыя прылады",
        "postcomment": "Новы раздзел",
        "redirectedfrom": "(Пасля перасылкі з $1)",
        "redirectpagesub": "Старонка-перасылка",
        "lastmodifiedat": "Апошняе змяненне старонкі адбылося $2, $1.",
-       "viewcount": "Гэту старонку адкрывалі {{PLURAL:$1|адзін раз|$1 разоў}}.",
+       "viewcount": "Гэту старонку адкрывалі {{PLURAL:$1|адзін раз|$1 разы|$1 разоў}}.",
        "protectedpage": "Старонка пад аховай",
        "jumpto": "Перайсці да:",
        "jumptonavigation": "рух",
        "jumptosearch": "знайсці",
        "view-pool-error": "На жаль, у гэты момант серверы перагружаны.\nЗанадта многія чытачы спрабуюць адкрыць гэтую старонку.\nКалі ласка, трохі пачакайце, перш чым адкрываць гэтую старонку ізноў.\n\n$1",
+       "generic-pool-error": "На жаль, у гэты момант серверы перагружаны.\nЗанадта многія карыстальнікі спрабуюць адкрыць гэты рэсурс.\nКалі ласка, трохі пачакайце, перш чым спрабаваць атрымаць доступ да гэтага рэсурсу ізноў.",
        "pool-timeout": "Выйшаў час чакання блакіроўкі",
        "pool-queuefull": "Чарга запытаў перапоўнена",
        "pool-errorunknown": "Невядомая памылка",
        "youhavenewmessages": "Вы маеце $1 ($2).",
        "youhavenewmessagesfromusers": "Вы атрымалі $1 ад {{PLURAL:$3|$3 ўдзельніка|$3 удзельнікаў}} ($2).",
        "youhavenewmessagesmanyusers": "Вы атрымалі $1 ад мноства карыстальнікаў ($2).",
+       "newmessageslinkplural": "{{PLURAL:$1|новае паведамленне|999=новыя паведамленні}}",
+       "newmessagesdifflinkplural": "{{PLURAL:$1|апошняя \nзмена|999=апошнія \nзмены}}",
        "youhavenewmessagesmulti": "У вас ёсць новыя паведамленні на $1",
        "editsection": "правіць",
        "editold": "правіць",
        "collapsible-expand": "Паказаць",
        "thisisdeleted": "Паказаць ці аднавіць $1?",
        "viewdeleted": "Ці паказаць $1?",
-       "restorelink": "$1 {{PLURAL:$1|сцёртая праўка|сцёртых правак}}",
+       "restorelink": "$1 {{PLURAL:$1|Ñ\81Ñ\86Ñ\91Ñ\80Ñ\82аÑ\8f Ð¿Ñ\80аÑ\9eка|Ñ\81Ñ\86Ñ\91Ñ\80Ñ\82Ñ\8bÑ\8f Ð¿Ñ\80аÑ\9eкÑ\96\81Ñ\86Ñ\91Ñ\80Ñ\82Ñ\8bÑ\85 Ð¿Ñ\80авак}}",
        "feedlinks": "Струмень:",
        "feed-invalid": "Недапушчальны тып струмяня навін.",
        "feed-unavailable": "Няма струмянёў навін",
        "badarticleerror": "Аперацыя не дазволена на гэтай старонцы.",
        "cannotdelete": "Немагчыма сцерці старонку ці файл \"$1\". Магчыма, хтосьці іншы ўжо зрабіў гэта.",
        "cannotdelete-title": "Нельга выдаліць старонку \"$1\"",
+       "delete-hook-aborted": "Сціранне спынена хукам (hook).\nТлумачэнняў не было.",
+       "no-null-revision": "Немагчыма стварыць нуль-версію (null revision) для старонкі \"$1\"",
        "badtitle": "Няправільная назва",
        "badtitletext": "Назва старонкі, па якую звярталіся, аказалася недапушчальнай, пустой, або няправільна прылучанай між-моўнай ці між-вікі назвай. Магчыма, у ёй ёсць знакі, якія нельга ўжываць у назвах.",
        "perfcached": "Гэта ўзятыя з кэшу звесткі, і яны могуць не быць актуальнымі. У кэшы захоўваецца не больш за {{PLURAL:$1|адзін вынік|$1 вынікі|$1 вынікаў}}.",
        "viewsource-title": "Прагляд зыходнага тэксту старонкі $1",
        "actionthrottled": "Дзеянне прыгашана",
        "actionthrottledtext": "Дзеля абароны ад спаму, вам не дазваляецца выконваць гэтае дзеянне занадта часта за пэўны адрэзак часу, і вы гэты ліміт перасягнулі. Паспрабуйце ізноў праз некалькі мінут.",
-       "protectedpagetext": "Старонка ахоўваецца, каб нельга было яе правіць.",
+       "protectedpagetext": "Старонка ахоўваецца, каб нельга было яе правіць ці яшчэ што рабіць.",
        "viewsourcetext": "Можна бачыць і капіраваць зыходны тэкст гэтай старонкі:",
        "viewyourtext": "Вы можаце праглядзець і скапіяваць зыходны тэкст '''вашых правак''' на гэтай старонцы:",
        "protectedinterface": "Старонка ўтрымлівае інтэрфейснае паведамленне праграмнага забеспячэння гэтага вікі-праекта і ахоўваецца, каб прадухіліць вандалізм.\nКаб дабавіць ці змяніць пераклады ва ўсіх вікі-праектах, калі ласка, выкарыстоўвайце сайт лакалізацыі MediaWiki [//translatewiki.net/ translatewiki.net].",
-       "editinginterface": "'''Увага:''' Вы правіце старонку, якая ўтрымлівае тэкст карыстальніцкага інтэрфейсу.\nЯе змяненне паўплывае на вонкавы выгляд праграмы для ўсіх удзельнікаў.\nПраект лакалізацыі MediaWiki: [//translatewiki.net/wiki/Main_Page?setlang=be translatewiki.net].",
+       "editinginterface": "<strong>Увага:</strong> Вы правіце старонку, якая ўтрымлівае тэкст карыстальніцкага інтэрфейсу.\nЯе змяненне паўплывае на вонкавы выгляд праграмы для ўсіх удзельнікаў гэтай вікі.\nПраект лакалізацыі MediaWiki: [//translatewiki.net/wiki/ translatewiki.net].",
        "cascadeprotected": "Старонка знаходзіцца пад аховай ад правак, таму што яна ўлучана ў наступн{{PLURAL:$1|ую старонку|ыя старонкі}}, якія ахоўваюцца з магчымасцю \"каскаднага распаўсюджвання\" аховы:\n$2",
-       "namespaceprotected": "Вам не дазволена правіць старонкі ў прасторы назваў '''$1'''.",
+       "namespaceprotected": "Вам не дазволена правіць старонкі ў прасторы назваў <strong>$1</strong>.",
        "customcssprotected": "У вас няма дазволу рэдагаваць гэтую CSS-старонку, бо яна ўтрымлівае асабістыя настройкі іншага ўдзельніка.",
        "customjsprotected": "У вас няма дазволу рэдагаваць гэтую JavaScript-старонку, таму што яна ўтрымлівае асабістыя настройкі іншага ўдзельніка.",
        "mycustomcssprotected": "Вам не дазволена рэдагаванне гэтай старонкі CSS.",
+       "mycustomjsprotected": "Вам не дазволена рэдагаванне гэтай старонкі JavaScript.",
+       "myprivateinfoprotected": "Вам не дазволена рэдагаваць свае асабістыя звесткі.",
+       "mypreferencesprotected": "Вам не дазволена рэдагаваць свае настройкі.",
        "ns-specialprotected": "Не дазволена правіць старонкі ў прасторы назваў {{ns:special}}.",
-       "titleprotected": "Назва засцерагаецца ад стварэння; ахова пастаўлена ўдзельнікам: [[User:$1|$1]].\nТлумачэнне пастаноўкі пад ахову: ''$2''.",
+       "titleprotected": "Назва засцерагаецца ад стварэння; ахова пастаўлена ўдзельнікам: [[User:$1|$1]].\nТлумачэнне пастаноўкі пад ахову: \"<em>$2</em>\".",
+       "invalidtitle-knownnamespace": "Недапушчальны загаловак з прасторай імёнаў \"$2\" і тэкстам \"$3\"",
+       "invalidtitle-unknownnamespace": "Недапушчальны загаловак з невядомым лікам прасторы імён $1 і тэкстам \"$2\"",
        "exception-nologin": "Вы не ўвайшлі ў сістэму",
        "virus-badscanner": "Некарэктная канфігурацыя: невядомы антывірусны сканер: ''$1''",
        "virus-scanfailed": "не ўдалося праверыць (код $1)",
        "createacct-realname": "Сапраўднае імя (неабавязкова)",
        "createaccountreason": "Прычына:",
        "createacct-reason": "Прычына",
+       "createacct-captcha": "Праверка бяспекі",
        "createacct-imgcaptcha-ph": "Увядзіце тэкст, які вы бачыце вышэй",
        "createacct-submit": "Стварыць уліковы запіс",
+       "createacct-another-submit": "Стварыць яшчэ адзін уліковы запіс",
+       "createacct-benefit-heading": "{{SITENAME}} зроблены такімі ж людзьмі, як вы.",
+       "createacct-benefit-body1": "{{PLURAL:$1|праўка|праўкі|правак}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|старонка|старонкі|старонак}}",
+       "createacct-benefit-body3": "{{PLURAL:$1|апошні \nўкладальнік|апошнія \nўкладальнікі|апошніх \nукладальнікаў}}",
        "badretype": "Уведзеныя паролі не аднолькавыя.",
        "userexists": "Такое імя ўдзельніка ўжо занятае.\nКалі ласка, выбярыце іншае імя.",
        "loginerror": "Памылка ўваходу",
        "createaccounterror": "Не ўдалося стварыць рахунак: $1",
        "nocookiesnew": "Рахунак быў створаны, але ў сістэму вы не ўвайшлі. {{SITENAME}} карыстаецца квіткамі (кукі), каб апрацоўваць уваходы ўдзельнікаў, а гэтая функцыянальнасць адключана ў вашым браўзеры. Уключыце квіткі ў браўзеры, тады ўваходзьце са сваімі новымі імем удзельніка і паролем.",
        "nocookieslogin": "{{SITENAME}} карыстаецца квіткамі (кукі), каб пазнаваць удзельнікаў. У вашым браўзеры квіткі не дазволены. Дазвольце іх працу і паспрабуйце ізноў.",
-       "nocookiesfornew": "Уліковы запіс карыстальніка не быў створаны, бо мы не змаглі пацвердзіць яго крыніцы. \n Пераканайцеся ў тым, кукі ўключаныя, абнавіце старонку і паспрабуйце яшчэ раз.",
+       "nocookiesfornew": "Уліковы запіс карыстальніка не быў створаны, бо мы не змаглі пацвердзіць яго крыніцы. \nУпэўніцеся, што кукі ўключаныя, абнавіце старонку і паспрабуйце яшчэ раз.",
        "noname": "Вы не вызначылі правільнага імя ўдзельніка.",
        "loginsuccesstitle": "Паспяховы ўваход у сістэму",
        "loginsuccess": "'''Цяпер Вы ўвайшлі на {{SITENAME}} як \"$1\".'''",
        "noemailcreate": "Вам неабходна паказаць дзеючы адрас электроннай пошты",
        "passwordsent": "На адрас электроннай пошты, зарэгістраваны для \"$1\",\nбыў дасланы новы пароль.\nКалі ласка, увайдзіце ў сістэму зноў пасля яго атрымання.",
        "blocked-mailpassword": "Для адрасу IP, з якога вы працуеце, забароненыя праўкі, а значыць, у мэтах абароны ад злоўжывання нельга карыстацца і функцыяй аднаўлення паролю.",
-       "eauthentsent": "Пацверджанне было адасланае эл.поштай на азначаны адрас эл.пошты.\nКаб туды, у далейшым, трапляла іншая эл.пошта адсюль, патрабуецца выканаць інструкцыі, выкладзеныя ў гэтым эл.паведамленні, каб пацвердзіць сваё права на рахунак эл.пошты.",
-       "throttled-mailpassword": "Нагаданне пра пароль ужо адсылалася на працягу апошн{{PLURAL:$1|яй гадзіны|іх $1 гадзін}}. Дзеля абароны ад злоўжыванняў, дазваляецца атрымліваць толькі адно такое нагаданне за {{PLURAL:$1|гадзіну|$1 гадзін}}.",
+       "eauthentsent": "Пацверджанне было адасланае электроннай поштай на азначаны адрас эл.пошты.\nКаб туды, у далейшым, трапляла іншая пошта адсюль, патрабуецца выканаць інструкцыі, выкладзеныя ў тым эл.паведамленні, каб пацвердзіць сваё права на рахунак эл.пошты.",
+       "throttled-mailpassword": "Нагаданне пра пароль ужо адсылалася на працягу апошн{{PLURAL:$1|яй гадзіны|іх $1 гадзін}}. Дзеля абароны ад злоўжыванняў, дазваляецца атрымліваць толькі адно такое нагаданне за {{PLURAL:$1|гадзіну|$1 гадзіны|$1 гадзін}}.",
        "mailerror": "Памылка адсылання эл.пошты: $1",
        "acct_creation_throttle_hit": "На гэтай вікі за апошні дзень створаны {{PLURAL:$1|1 рахунак|$1 рахункаў}} наведвальнікамі з вашага адрасу IP. Больш за такі час не дазваляецца. Таму на пэўны час з гэтага адрасу IP нельга ствараць новых рахункаў.",
        "emailauthenticated": "Ваш адрас эл.пошты быў пацверджаны на пляцоўцы $2 ($3).",
-       "emailnotauthenticated": "Адрас эл.пошты яшчэ не пацверджаны. Эл.пошта ў гэтых магчымасцях слацца не будзе.",
+       "emailnotauthenticated": "Адрас эл.пошты яшчэ не пацверджаны. \nЭл.пошта ў гэтых магчымасцях адсылацца не будзе.",
        "noemailprefs": "Патрэбны адрас эл.пошты, каб дзейнічалі гэтыя магчымасці.",
        "emailconfirmlink": "Пацвердзіце ваш адрас эл.пошты",
        "invalidemailaddress": "Непрыймальны адрас эл.пошты, таму што яго фармат выглядае няправільным. Упішыце адрас у правільным фармаце або ачысціце гэтае поле.",
        "cannotchangeemail": "Адрасы электроннай пошты гэтага ўліковага запісу не могуць быць зменены ў гэтай вікі.",
+       "emaildisabled": "Гэты сайт не можа адсылаць эл.пошту.",
        "accountcreated": "Створаны рахунак",
-       "accountcreatedtext": "СÑ\82воÑ\80анÑ\8b Ñ\80аÑ\85Ñ\83нак Ñ\83дзелÑ\8cнÑ\96ка $1.",
+       "accountcreatedtext": "СÑ\82воÑ\80анÑ\8b Ñ\9eлÑ\96ковÑ\8b Ð·Ð°Ð¿Ñ\96Ñ\81 Ñ\83дзелÑ\8cнÑ\96ка [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|Ñ\80азмовÑ\8b]]).",
        "createaccount-title": "Стварэнне рахунка на {{SITENAME}}",
        "createaccount-text": "На пляцоўцы {{SITENAME}} ($4) быў створаны рахунак удзельніка з гэтым адрасам эл.пошты. Назва рахунку \"$2\", пароль \"$3\". Варта адразу ўвайсці ў сістэму і змяніць пароль.\n\nКалі стварэнне рахунку было памылковым, то на гэтае паведамленне можна не звяртаць увагі.",
-       "login-throttled": "Ð\97анадÑ\82а Ð¼Ð½Ð¾Ð³Ð° Ð½Ñ\8fдаÑ\9eнÑ\96Ñ\85 Ñ\81пÑ\80обаÑ\9e Ñ\83вайÑ\81Ñ\86Ñ\96 Ð¿Ð°Ð´ Ð³Ñ\8dÑ\82Ñ\8bм Ñ\80аÑ\85Ñ\83нкам. Ð\9fаÑ\87акайÑ\86е перад тым, як спрабаваць ізноў.",
+       "login-throttled": "Ð\97анадÑ\82а Ð¼Ð½Ð¾Ð³Ð° Ð½Ñ\8fдаÑ\9eнÑ\96Ñ\85 Ñ\81пÑ\80обаÑ\9e Ñ\83вайÑ\81Ñ\86Ñ\96 Ð¿Ð°Ð´ Ð³Ñ\8dÑ\82Ñ\8bм Ñ\83лÑ\96ковÑ\8bм Ð·Ð°Ð¿Ñ\96Ñ\81ам. \nÐ\9fаÑ\87акайÑ\86е $1 перад тым, як спрабаваць ізноў.",
        "login-abort-generic": "Няўдалая спроба ўвайсці ў сістэму",
        "loginlanguagelabel": "Мова: $1",
        "suspicious-userlogout": "Ваш запыт на выхад быў адмоўлены, паколькі ён выглядае як накіраваны са зламанага браўзера або кэшаванне проксі-сервераў.",
+       "createacct-another-realname-tip": "Сапраўднае імя паведамляць неабавязкова.\nКалі вы рашылі паведаміць яго, ім будзе падпісваецца зроблены ўдзельнікам унёсак.",
        "pt-login": "Увайсці",
        "pt-login-button": "Увайсці",
        "pt-createaccount": "Стварыць уліковы запіс",
        "pt-userlogout": "Выйсці",
        "php-mail-error-unknown": "Невядомая памылка ў функцыі PHP-пошты",
        "user-mail-no-addy": "Паспрабаваў адправіць электронны ліст без адрасу электроннай пошты",
+       "user-mail-no-body": "Спроба даслаць ліст эл.пошты з пустым або неабгрунтавана кароткім зместам.",
        "changepassword": "Пароль",
        "resetpass_announce": "Каб завяршыць уваход у сістэму, Вы павінны ўстанавіць новы пароль.",
        "resetpass_header": "Змяніць пароль рахунку",
        "retypenew": "Новы пароль паўторна:",
        "resetpass_submit": "Наставіць пароль і ўвайсці",
        "changepassword-success": "Ваш пароль паспяхова зменены!",
+       "changepassword-throttled": "Занадта многа нядаўніх спробаў увайсці пад гэтым уліковым запісам. \nПачакайце $1 перад тым, як спрабаваць ізноў.",
        "resetpass_forbidden": "Не дазволена мяняць паролі",
        "resetpass-no-info": "Трэба ўвайсці ў сістэму, каб звяртацца да гэтай старонкі наўпрост.",
        "resetpass-submit-loggedin": "Змяніць пароль",
        "resetpass-submit-cancel": "Нічога",
        "resetpass-wrong-oldpass": "Недапушчальны тымчасовы ці актуальны пароль.\nМагчыма, вы ўжо змянілі свой пароль ці папрасілі новы тымчасовы.",
+       "resetpass-recycled": "Калі ласка, змяніце свой пароль на нешта іншае, чым ваш цяперашні пароль.",
        "resetpass-temp-password": "Тымчасовы пароль:",
+       "resetpass-validity-soft": "Ваш пароль недапушчальны: $1\n\nКалі ласка, выберыце новы пароль зараз, або націсніце \"{{int:resetpass-submit-cancel}}\", каб скінуць яго пазней.",
        "passwordreset": "Выслаць мне новы пароль",
+       "passwordreset-text-one": "Запоўніце гэту форму, каб атрымаць часовы пароль па эл.пошце.",
        "passwordreset-legend": "Пераўстанавіць пароль",
        "passwordreset-disabled": "Функцыя пераўсталёўкі пароля адключаная на гэтай вікі.",
+       "passwordreset-emaildisabled": "Функцыі эл.пошты адключаны на гэтай Вікі.",
        "passwordreset-username": "Імя ўдзельніка",
        "passwordreset-domain": "Дамен:",
        "passwordreset-capture": "Праглядзець напісаны ліст?",
        "passwordreset-capture-help": "Калі вы паставіце адзнаку, то вам будзе паказаны ліст з часовым паролем, які адпраўляецца ўдзельніку.",
        "passwordreset-email": "Адрас электроннай пошты:",
        "passwordreset-emailtitle": "Інфармацыя пра рахунак на сайце {{SITENAME}}",
-       "passwordreset-emailtext-ip": "Нехта (магчыма вы, з IP-адрасу $1) запытаў напамін пра ваш \nуліковы запіс у праекце {{SITENAME}} ($4).\n{{PLURAL:$3|Наступны ўліковы запіс звязаны | Наступныя ўліковыя запісы звязаны}} з гэтым адрасам электроннай пошты:\n\n$2\n\n{{PLURAL:$3|Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць {{PLURAL:$5|адзін дзень|$5 дзён}}.\nВы павінны ўвайсці ў сістэму і абраць новы пароль.\nКалі вы не рабілі гэтага запыту, ці ўспомнілі свой зыходны пароль\nі не жадаеце яго мяняць, вы можаце праігнараваць гэтае паведамленне\nі працягнуць выкарыстоўваць свой стары пароль.",
-       "passwordreset-emailtext-user": "УдзелÑ\8cнÑ\96к $1 Ð· Ð¿Ñ\80аекÑ\82Ñ\83 {{SITENAME}} Ð·Ð°Ð¿Ñ\80аÑ\81Ñ\96Ñ\9e Ð½Ð°Ð¿Ð°Ð¼Ñ\96н Ð¿Ñ\80а Ð²Ð°Ñ\88\nÑ\83лÑ\96ковÑ\8b Ð·Ð°Ð¿Ñ\96Ñ\81 Ñ\83 Ð¿Ñ\80аекÑ\86е {{SITENAME}}\n($4).\n{{PLURAL:$3|Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\8b Ñ\9eлÑ\96ковÑ\8b Ð·Ð°Ð¿Ñ\96Ñ\81 Ð·Ð²Ñ\8fзанÑ\8b | Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\8bÑ\8f Ñ\83лÑ\96ковÑ\8bÑ\8f Ð·Ð°Ð¿Ñ\96Ñ\81Ñ\8b Ð·Ð²Ñ\8fзанÑ\8b}} Ð· Ð³Ñ\8dÑ\82Ñ\8bм Ð°Ð´Ñ\80аÑ\81ам Ñ\8dлекÑ\82Ñ\80оннай Ð¿Ð¾Ñ\88Ñ\82Ñ\8b:\n\n$2\n\n{{PLURAL:$3|Ð\93Ñ\8dÑ\82Ñ\8b Ñ\87аÑ\81овÑ\8b Ð¿Ð°Ñ\80олÑ\8c Ð±Ñ\83дзе|Ð\93Ñ\8dÑ\82Ñ\8bÑ\8f Ñ\87аÑ\81овÑ\8bÑ\8f Ð¿Ð°Ñ\80олÑ\96 Ð±Ñ\83дÑ\83Ñ\86Ñ\8c}} Ð´Ð·ÐµÐ¹Ð½Ñ\96Ñ\87аÑ\86Ñ\8c {{PLURAL:$5|$5 Ð´Ð·ÐµÐ½Ñ\8c |$5 Ð´Ð½Ñ\8f |$5 Ð´Ð·Ñ\91н}}.\nÐ\92Ñ\8b Ð¿Ð°Ð²Ñ\96ннÑ\8b Ñ\9eвайÑ\81Ñ\86Ñ\96 Ñ\9e Ñ\81Ñ\96Ñ\81Ñ\82Ñ\8dмÑ\83 Ñ\96 Ð°Ð±Ñ\80аÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8b Ð¿Ð°Ñ\80олÑ\8c.\nÐ\9aалÑ\96 Ð²Ñ\8b Ð½Ðµ Ñ\80абÑ\96лÑ\96 Ð³Ñ\8dÑ\82ага Ð·Ð°Ð¿Ñ\8bÑ\82Ñ\83, Ñ\86Ñ\96 Ñ\9eÑ\81помнÑ\96лÑ\96 Ñ\81вой Ð·Ñ\8bÑ\85однÑ\8b Ð¿Ð°Ñ\80олÑ\8c\nÑ\96 Ð½Ðµ Ð¶Ð°Ð´Ð°ÐµÑ\86е Ñ\8fго Ð¼Ñ\8fнÑ\8fÑ\86Ñ\8c, Ð²Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е Ð¿Ñ\80аÑ\96гнаÑ\80аваÑ\86Ñ\8c Ð³Ñ\8dÑ\82ае Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½Ðµ\nÑ\96 Ð¿Ñ\80аÑ\86Ñ\8fгнÑ\83ць выкарыстоўваць свой стары пароль.",
+       "passwordreset-emailtext-ip": "Нехта (магчыма вы, з IP-адрасу $1) запытаў скід  вашага пароля ў праекце {{SITENAME}} ($4).\n{{PLURAL:$3|Наступны ўліковы запіс звязаны|Наступныя ўліковыя запісы звязаны}} з гэтым адрасам электроннай пошты:\n\n$2\n\n{{PLURAL:$3|Гэты часовы пароль будзе|Гэтыя часовыя паролі будуць}} дзейнічаць {{PLURAL:$5|адзін дзень|$5 дні|$5 дзён}}.\nВы павінны зараз увайсці ў сістэму і абраць новы пароль. Калі вы не рабілі гэтага запыту, ці ўспомнілі свой зыходны пароль і не жадаеце яго мяняць, вы можаце праігнараваць гэтае паведамленне і працягнуць выкарыстоўваць свой стары пароль.",
+       "passwordreset-emailtext-user": "УдзелÑ\8cнÑ\96к $1 Ð· Ð¿Ñ\80аекÑ\82Ñ\83 {{SITENAME}} Ð·Ð°Ð¿Ñ\8bÑ\82аÑ\9e Ñ\81кÑ\96д Ð²Ð°Ñ\88ага Ð¿Ð°Ñ\80олÑ\8f Ñ\9e Ð¿Ñ\80аекÑ\86е {{SITENAME}}\n($4).\n{{PLURAL:$3|Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\8b Ñ\9eлÑ\96ковÑ\8b Ð·Ð°Ð¿Ñ\96Ñ\81 Ð·Ð²Ñ\8fзанÑ\8b\9dаÑ\81Ñ\82Ñ\83пнÑ\8bÑ\8f Ñ\83лÑ\96ковÑ\8bÑ\8f Ð·Ð°Ð¿Ñ\96Ñ\81Ñ\8b Ð·Ð²Ñ\8fзанÑ\8b}} Ð· Ð³Ñ\8dÑ\82Ñ\8bм Ð°Ð´Ñ\80аÑ\81ам Ñ\8dлекÑ\82Ñ\80оннай Ð¿Ð¾Ñ\88Ñ\82Ñ\8b:\n\n$2\n\n{{PLURAL:$3|Ð\93Ñ\8dÑ\82Ñ\8b Ñ\87аÑ\81овÑ\8b Ð¿Ð°Ñ\80олÑ\8c Ð±Ñ\83дзе|Ð\93Ñ\8dÑ\82Ñ\8bÑ\8f Ñ\87аÑ\81овÑ\8bÑ\8f Ð¿Ð°Ñ\80олÑ\96 Ð±Ñ\83дÑ\83Ñ\86Ñ\8c}} Ð´Ð·ÐµÐ¹Ð½Ñ\96Ñ\87аÑ\86Ñ\8c {{PLURAL:$5|$5 Ð´Ð·ÐµÐ½Ñ\8c |$5 Ð´Ð½Ñ\96 |$5 Ð´Ð·Ñ\91н}}.\nÐ\92Ñ\8b Ð¿Ð°Ð²Ñ\96ннÑ\8b Ð·Ð°Ñ\80аз Ñ\83вайÑ\81Ñ\86Ñ\96 Ñ\9e Ñ\81Ñ\96Ñ\81Ñ\82Ñ\8dмÑ\83 Ñ\96 Ð°Ð±Ñ\80аÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8b Ð¿Ð°Ñ\80олÑ\8c. Ð\9aалÑ\96 Ð²Ñ\8b Ð½Ðµ Ñ\80абÑ\96лÑ\96 Ð³Ñ\8dÑ\82ага Ð·Ð°Ð¿Ñ\8bÑ\82Ñ\83, Ñ\86Ñ\96 Ñ\9eÑ\81помнÑ\96лÑ\96 Ñ\81вой Ð·Ñ\8bÑ\85однÑ\8b Ð¿Ð°Ñ\80олÑ\8c Ñ\96 Ð½Ðµ Ð¶Ð°Ð´Ð°ÐµÑ\86е Ñ\8fго Ð¼Ñ\8fнÑ\8fÑ\86Ñ\8c, Ð²Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е Ð¿Ñ\80аÑ\96гнаÑ\80аваÑ\86Ñ\8c Ð³Ñ\8dÑ\82ае Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½Ðµ Ñ\96 Ð¿Ñ\80аÑ\86Ñ\8fгваць выкарыстоўваць свой стары пароль.",
        "passwordreset-emailelement": "Імя ўдзельніка: $1\nЧасовы пароль: $2",
        "passwordreset-emailsent": "Па электроннай пошце быў адпраўлены напамін.",
        "passwordreset-emailsent-capture": "Ніжэй прыведзены адпраўлены ліст-напамін.",
        "changeemail-oldemail": "Бягучы адрас электроннай пошты:",
        "changeemail-newemail": "Новы адрас электроннай пошты:",
        "changeemail-none": "(няма)",
+       "changeemail-password": "Ваш {{SITENAME}} пароль:",
        "changeemail-submit": "Змяніць адрас электроннай пошты:",
        "changeemail-cancel": "Адмена",
+       "changeemail-throttled": "Надта штмат спробаў увайсці пад гэтым рахункам. Пачакайце $1 перад тым, як спрабаваць ізноў.",
        "bold_sample": "Цёмны тэкст",
        "bold_tip": "Цёмны тэкст",
        "italic_sample": "Курсіўны тэкст",
        "userpage-userdoesnotexist": "Рахунак удзельніка \"<nowiki>$1</nowiki>\" не зарэгістраваны. Праверце, ці вы жадаеце стварыць або паправіць гэтую старонку.",
        "userpage-userdoesnotexist-view": "Уліковы запіс удзельніка \" $1 \"не зарэгістраваны.",
        "blocked-notice-logextract": "Гэты карыстальнік у дадзены момант заблакаваны. \n Апошні запіс журнала блакіровак прыводзіцца ніжэй для даведкі:",
-       "clearyourcache": "'''Заўвага:''' Пасля замацоўвання, вам можа спатрэбіцца ачыстка кэшу браўзера, каб убачыць унесеныя змяненні. \n*'''Firefox / Safari:''' націсніце '''Reload''', утрымліваючы ''Shift'', або націсніце ''Ctrl-F5'' ці ''Ctrl-R'' (''Cmd-R'' на Макінтошах)\n* '''Konqueror:''': націсніце ''Reload'' або ''F5''\n* '''Opera''': увайдзіце ў настройкі карыстальніка (меню ''Tools'', падпункт ''Preferences''), там ачысціце кэш; * '''Internet Explorer:''' націсніце ''Refresh'', утрымліваючы ''Ctrl'', або націсніце ''Ctrl-F5''\n* '''Google Chrome:''' Націсніце ''Ctrl-Shift-R'' (''⌘-Shift-R'' на Mac)",
+       "clearyourcache": "<strong>Заўвага:</strong> Пасля замацоўвання, вам можа спатрэбіцца ачыстка кэшу браўзера, каб убачыць унесеныя змяненні. \n*<strong>Firefox / Safari:</strong> націсніце <em>Reload</em>, утрымліваючы <em>Shift</em>, або націсніце <em>Ctrl-F5</em> ці <em>Ctrl-R</em> (<em>⌘-R</em> на Макінтошах)\n* <strong>Google Chrome</strong>: Націсніце <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> на Mac)\n* <strong>Internet Explorer</strong>: націсніце <em>Refresh</em>, утрымліваючы <em>Ctrl</em>, або націсніце <em>Ctrl-F5</em>\n* <strong>Opera</strong>: увайдзіце ў настройкі карыстальніка (меню <em>Tools</em>, падпункт <em>Preferences</em>), там ачысціце кэш;",
        "usercssyoucanpreview": "'''Парада:''' Карыстайцеся кнопкай \"''{{int:showpreview}}''\" для выпрабоўвання новага коду CSS ''перад тым'', як яго запісваць.",
        "userjsyoucanpreview": "'''Парада:''' Карыстайцеся кнопкай \"''{{int:showpreview}}''\" для выпрабоўвання новага коду JS ''перад тым'', як яго запісваць.",
        "usercsspreview": "'''Памятайце, што гэта толькі папярэдні паказ вашага ўласнага CSS. Праўкі яшчэ не замацаваныя!'''",
        "sitejspreview": "'''Памятайце, што гэта толькі папярэдні паказ вашага JavaScript.'''\n'''Праўкі яшчэ не замацаваныя!'''",
        "userinvalidcssjstitle": "'''Увага:''' Няма вокладкі з назвай \"$1\". Памятайце, што свае старонкі .css і .js называюцца толькі малымі літарамі, такім чынам, напр., {{ns:user}}:Foo/vector.css, а не {{ns:user}}:Foo/Vector.css.",
        "updated": "(абноўлена)",
-       "note": "'''Заўвага:'''",
+       "note": "<strong>Заўвага:</strong>",
        "previewnote": "'''Памятайце, гэта папярэдні паказ; праўкі яшчэ не замацаваныя!'''",
        "continue-editing": "Працягнуць рэдагаванне",
        "previewconflict": "Гэта папярэдні паказ магчымага выніку замацоўвання актуальнага стану крынічнага тэксту ў верхнім тэкставым полі.",
        "template-semiprotected": "(часткова ахоўвацца)",
        "hiddencategories": "Старонка належыць да {{PLURAL:$1|1 схаванай катэгорыі|$1 схаваных катэгорый}}:",
        "nocreatetext": "На пляцоўцы {{SITENAME}} магчымасці стварэння новых старонак абмежаваныя.\nВы можаце папрацаваць з існуючай старонкай, або [[Special:UserLogin|увайсці ў сістэму, або завесці сабе рахунак]].",
-       "nocreate-loggedin": "Ð\92ам Ð½Ðµ Ð´Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ð° Ñ\81Ñ\82ваÑ\80аÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8bÑ\85 Ñ\81Ñ\82аÑ\80онак.",
-       "sectioneditnotsupported-title": "РÑ\8dдагаванне раздзелу не падтрымліваецца",
-       "sectioneditnotsupported-text": "РÑ\8dдагаванне Ñ\81екÑ\86Ñ\8bÑ\96 не падтрымліваецца на гэтай старонцы.",
-       "permissionserrors": "Памылкі дазволаў",
+       "nocreate-loggedin": "Ð\92ам Ð½Ðµ Ð´Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ð° Ñ\81Ñ\82ваÑ\80аÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8bÑ\8f Ñ\81Ñ\82аÑ\80онкÑ\96.",
+       "sectioneditnotsupported-title": "Ð\9fÑ\80аÑ\9eка раздзелу не падтрымліваецца",
+       "sectioneditnotsupported-text": "Ð\9fÑ\80аÑ\9eка Ñ\80аздзелÑ\83 не падтрымліваецца на гэтай старонцы.",
+       "permissionserrors": "Памылка доступу",
        "permissionserrorstext": "Вам не дазволена гэтага рабіць, з наступн{{PLURAL:$1|ай прычыны|ых прычын}}:",
        "permissionserrorstext-withaction": "Вам не дазволена $2, з-за наступ{{PLURAL:$1|най прычыны|ных прычын}}:",
-       "recreate-moveddeleted-warn": "'''Увага: Вы аднаўляеце старонку, якая раней была сцёрта.'''\n\nТрэба падумаць, ці варта далей працаваць з гэтай старонкай.\nВось журнал сціранняў і пераносаў для гэтай старонкі:",
+       "recreate-moveddeleted-warn": "<strong>Увага: Вы аднаўляеце старонку, якая раней была сцёрта.</strong>\n\nТрэба падумаць, ці варта далей працаваць з гэтай старонкай.\nВось журнал сціранняў і пераносаў для гэтай старонкі:",
        "moveddeleted-notice": "Гэтая старонка была сцёртая.\nНіжэй паказаны журнал сціранняў і пераносаў для гэтай старонкі.",
        "log-fulllog": "Паглядзець поўны лог",
        "edit-hook-aborted": "Праўка спынена хукам (hook).\nТлумачэнняў не было.",
        "edit-gone-missing": "Не ўдалося абнавіць старонку.\nЗдаецца, што яна была сцёртая.",
        "edit-conflict": "Канфлікт правак.",
        "edit-no-change": "Вашая праўка была праігнараваная, таму што не мяняўся тэкст.",
+       "postedit-confirmation-created": "Створана старонка.",
+       "postedit-confirmation-restored": "Старонка адноўлена.",
        "postedit-confirmation-saved": "Вашая праўка была захаваная.",
        "edit-already-exists": "Не ўдалося стварыць новую старонку.\nТакая ўжо існуе.",
+       "defaultmessagetext": "Прадвызначаны тэкст",
+       "content-not-allowed-here": "\"$1\" не дазволены на старонцы [[$2]]",
        "editwarning-warning": "Пераход на іншую старонку можа прывесці да страты правак, зробленых Вамі. \nКалі Вы ўвайшлі ў сістэму, Вы можаце адключыць гэта папярэджанне ў раздзеле \"{{int:prefs-editing}}\" Вашых настроек.",
+       "editpage-notsupportedcontentformat-title": "Фармат змесціва не падтрымліваецца",
        "content-model-wikitext": "вікі-тэкст",
        "content-model-text": "звычайны тэкст",
        "content-model-javascript": "JavaScript",
        "history-show-deleted": "Толькі выдаленыя",
        "histfirst": "Самае старое",
        "histlast": "Самае новае",
-       "historysize": "({{PLURAL:$1|1 байт|$1 байтаў}})",
+       "historysize": "({{PLURAL:$1|1 байт|$1 байты|$1 байтаў}})",
        "historyempty": "(пуста)",
        "history-feed-title": "Гісторыя версій",
        "history-feed-description": "Гісторыя версій гэтай старонкі",
        "rev-deleted-diff-view": "Адна з версій гэтага параўнання версій была' ''выдалена'''.\nВы можаце прагледзець гэта параўнанне, падрабязнасці могуць быць паказаны ў [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале сцірання].",
        "rev-suppressed-diff-view": "Адна з версій гэтага параўнання версій была '''схаваная'''.\nВы можаце прагледзець гэта параўнанне, падрабязнасці могуць быць паказаны ў [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} журнале ўтойвання].",
        "rev-delundel": "паказаць/схаваць",
-       "rev-showdeleted": "Ð\9fаказаць",
+       "rev-showdeleted": "паказаць",
        "revisiondelete": "Сцерці/аднавіць версіі",
        "revdelete-nooldid-title": "Недапушчальная мэтавая версія",
        "revdelete-nooldid-text": "Не выбрана мэтавая версія (ці версіі) дзеля выканання гэтай функцыі, азначаная версія не існуе, або вы спрабуеце схаваць актуальную версію.",
        "revdelete-unsuppress": "Зняць абмежаванні на адноўленыя версіі",
        "revdelete-log": "Прычына:",
        "revdelete-submit": "Прымяніць да азначан{{PLURAL:$1|ай ерсіі|ых версій}}",
-       "revdelete-success": "'''Паспяхова абноўлена бачнасць версіі.'''",
+       "revdelete-success": "<strong>Паспяхова абноўлена бачнасць версіі.</strong>",
        "revdelete-failure": "'''Не ўдалося абнавіць бачнасць версіі:'''\n$1",
        "logdelete-success": "'''Бачнасць падзеі настаўленая паспяхова.'''",
        "logdelete-failure": "'''Бачнасць журнала не ўсталявана:'''\n$1",
-       "revdel-restore": "Ð\9fамяняць бачнасць",
+       "revdel-restore": "памяняць бачнасць",
        "pagehist": "Гісторыя старонкі",
        "deletedhist": "Сцёртая гісторыя",
        "revdelete-hide-current": "Памылка пры скрыванні складніка з датай $2, $1: таму што гэта актуальная версія, \nа яе немагчыма скрываць.",
        "searchprofile-images-tooltip": "Шукаць файлы",
        "searchprofile-everything-tooltip": "Шукаць паўсюль (таксама ў размовах)",
        "searchprofile-advanced-tooltip": "Шукаць у дадатковых прасторах назваў",
-       "search-result-size": "$1 ({{PLURAL:$2|1 слова|$2 словаў}})",
+       "search-result-size": "$1 ({{PLURAL:$2|1 слова|$2 словы|$2 словаў}})",
        "search-result-category-size": "{{PLURAL:$1|$1 элемент|$1 элемента|$1 элементаў}} ({{PLURAL:$2|$2 падкатэгорыя|$2 падкатэгорыі|$2 падкатэгорый}}, {{PLURAL:$3|$3 файл|$3 файла|$3 файлаў}})",
        "search-result-score": "Адпаведнасць: $1%",
        "search-redirect": "(перасылка $1)",
        "search-interwiki-default": "вынікі з $1:",
        "search-interwiki-more": "(яшчэ)",
        "search-relatedarticle": "Дачыняюцца*",
-       "searcheverything-enable": "Пошук ва ўсіх прасторах назваў",
        "searchrelated": "маюць дачыненне",
        "searchall": "усе",
        "showingresults": "Ніжэй паказаны да {{PLURAL:$1|'''$1''' выніку|'''$1''' вынікаў}}, пачынаючы з нумару '''$2'''.",
        "prefs-rc": "{{:{{ns:mediawiki}}:Recentchanges/be}}",
        "prefs-watchlist": "Спіс назірання",
        "prefs-watchlist-days": "За колькі дзён паказваць змяненні ў назіраным:",
-       "prefs-watchlist-days-max": "(найбольш $1 {{PLURAL:$1|дзень|дзён}})",
+       "prefs-watchlist-days-max": "(найболÑ\8cÑ\88 $1 {{PLURAL:$1|дзенÑ\8c|днÑ\96|дзÑ\91н}})",
        "prefs-watchlist-edits": "Колькасць правак для паказу ў разгорнутым выглядзе:",
        "prefs-watchlist-edits-max": "Максімум: 1000",
        "prefs-watchlist-token": "Сакрэтны ключ для RSS:",
        "allowemail": "Атрымліваць эл.пошту ад іншых удзельнікаў",
        "prefs-searchoptions": "Магчымасці пошуку",
        "prefs-namespaces": "Прасторы назваў",
-       "defaultns": "Іначай шукаць у гэтых прасторах назваў:",
        "default": "прадвызначэнні",
        "prefs-files": "Файлы",
        "prefs-custom-css": "Уласны CSS",
        "minoreditletter": "д",
        "newpageletter": "Н",
        "boteditletter": "р",
-       "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|назіральнік|назіральнікаў}}]",
+       "number_of_watching_users_pageview": "[$1 {{PLURAL:$1|назіральнік|назіральнікі|назіральнікаў}}]",
        "rc_categories": "Абмежаваць катэгорыямі (размяжоўваць знакам \"|\")",
        "rc_categories_any": "Усе",
-       "rc-change-size-new": "$1 {{PLURAL:$1|байт|байта|байтаў}} пасля змены",
+       "rc-change-size-new": "$1 {{PLURAL:$1|байт|байты|байтаў}} пасля змены",
        "newsectionsummary": "/* $1 */ новы падраздзел",
        "rc-enhanced-expand": "Паказаць падрабязнасці",
        "rc-enhanced-hide": "Не паказваць падрабязнасцей",
        "recentchangeslinked-feed": "Звязаныя праўкі",
        "recentchangeslinked-toolbox": "Звязаныя праўкі",
        "recentchangeslinked-title": "Змяненні, якія датычаць \"$1\"",
-       "recentchangeslinked-summary": "Гэта пералік нядаўніх змяненняў старонак, на якія спасылаецца азначаная старонка, або змяненняў складнікаў азначанай катэгорыі.\nСтаронкі, якія ўваходзяць у [[Special:Watchlist|лік назіраных вамі]], выдзелены '''стылем'''.",
+       "recentchangeslinked-summary": "Гэта пералік нядаўніх змяненняў старонак, на якія спасылаецца азначаная старонка, або змяненняў складнікаў азначанай катэгорыі.\nСтаронкі, якія ўваходзяць у [[Special:Watchlist|лік назіраных вамі]], выдзелены <strong>стылем</strong>.",
        "recentchangeslinked-page": "Назва старонкі:",
        "recentchangeslinked-to": "Паказваць, замест гэтага, змяненні на старонках, што спасылаюцца сюды",
        "upload": "Укласці файл",
        "upload-recreate-warning": "'''Увага''': файл з такім імем быў выдалены або перамешчаны.''' \n\nЖурнал выдалення і перамяшчэння гэтай старонкі прыводзіцца тут для зручнасці:",
        "uploadtext": "Тут можна ўкласці файлы ў вікі.\nПрагляд або пошук раней укладзенага [[Special:FileList|робіцца тут]]; апроч таго, усе ўкладанні і сціранні адзначаюцца ў журналах [[Special:Log/upload|укладання]] і [[Special:Log/delete|сцірання]], адпаведна.\n\nКаб уставіць файл ў старонку, ужываецца спасылка, зробленая адным з наступных спосабаў:\n* '''<code><nowiki>[[</nowiki>image<nowiki>:File.jpg]]</nowiki></code>''' паказвае файл у поўным памеры\n*  '''<code><nowiki>[[</nowiki>image<nowiki>:File.png|200px|thumb|left|тлумачальны тэкст]]</nowiki></code>''' паказвае файл, маштабаваны да шырыні 200 кропак, у рамцы, змешчанай злева, і з 'тлумачальным тэкстам' у якасці подпісу\n* '''<code><nowiki>[[</nowiki>media<nowiki>:File.ogg]]</nowiki></code>''' не паказвае самога файла, а толькі спасылку на яго",
        "upload-permitted": "Дазволеныя тыпы файлаў: $1.",
-       "upload-preferred": "Ð\91олÑ\8cÑ\88 Ð¿Ñ\80Ñ\8bймалÑ\8cнÑ\8bÑ\8f Ñ\82Ñ\8bпÑ\8b Ñ\84айлаÑ\9e: $1.",
+       "upload-preferred": "Больш прымальныя тыпы файлаў: $1.",
        "upload-prohibited": "Забароненыя тыпы файлаў: $1.",
        "uploadlogpage": "Журнал укладанняў",
        "uploadlogpagetext": "Ніжэй паказаны спіс [[Special:NewFiles|нядаўна ўкладзеных]] файлаў.",
        "badfilename": "Назва файла зменена на \"$1\".",
        "filetype-mime-mismatch": "Пашырэнне файла (\".$1\") не адпавядае заўважанаму тыпу MIME ($2).",
        "filetype-badmime": "Не дазваляецца ўкладанне файлаў з тыпам MIME \"$1\".",
-       "filetype-bad-ie-mime": "Немагчыма ўкласці гэты файл, таму што  браўзер Internet Explorer будзе пазнаваць яго як \"$1\", а гэта з'яўляецца забароненым і патэнцыйна небяспечным тыпам файлаў.",
+       "filetype-bad-ie-mime": "Немагчыма ўкласці гэты файл, таму што  браўзер Internet Explorer будзе пазнаваць яго як \"$1\", а гэта забаронены і патэнцыйна небяспечны тып файлаў.",
        "filetype-unwanted-type": "'''\".$1\"''' належыць да нежаданых тыпаў файлаў. Пажаданы{{PLURAL:$3| тып файла|я тыпы файлаў}}: $2.",
        "filetype-banned-type": "'''\".$1\"''' {{PLURAL:$4|належыць да недазволенага тыпу файлаў|належаць да недазволеных тыпаў файлаў}}.\nПералік дазволеных тыпаў складаецца з {{PLURAL:$3|тыпа|тыпаў}}: $2.",
        "filetype-missing": "Назва файла без суфіксу (напрыклад, \".jpg\").",
        "file-exists-duplicate": "Гэты файл з'яўляецца дублікатам наступн{{PLURAL:$1|ага файла|ых файлаў}}:",
        "file-deleted-duplicate": "Файл, падобны да гэтага ([[:$1]]), быў сцёрты некалі раней. Трэба праверыць гісторыю таго файла перад тым, як укладваць яго нанова.",
        "uploadwarning": "Папярэджанне пра ўкладанне",
-       "uploadwarning-text": "Калі ласка, зменіце файл апісанне ніжэй і паўтарыце спробу.",
+       "uploadwarning-text": "Калі ласка, змяніце апісанне файла ніжэй і паўтарыце спробу.",
        "savefile": "Запісаць файл",
        "uploadedimage": "укладзена \"[[$1]]\"",
        "overwroteimage": "укладзена новая версія \"[[$1]]\"",
        "upload-options": "Магчымасці ўкладання",
        "watchthisupload": "Назіраць за файлам",
        "filewasdeleted": "Файл з такою назвай быў раней укладзены сюды, а потым сцёрты. Варта паглядзець у $1 перад тым, як укладаць яго нанова.",
-       "filename-bad-prefix": "Назва файла, які вы ўкладаеце, пачынаецца з '''\"$1\"''', што падобна на аўтаматычныя, неінфарматыўныя назвы файлаў, якія робяць лічбавыя фотаапараты. Калі ласка, змяніце назву на больш зразумелую.",
+       "filename-bad-prefix": "Назва файла, які вы ўкладаеце, пачынаецца з <strong>\"$1\"</strong>, што падобна на аўтаматычныя, неінфарматыўныя назвы файлаў, якія робяць лічбавыя фотаапараты. Калі ласка, змяніце назву на больш зразумелую.",
        "upload-success-subj": "Паспяховае ўкладанне",
        "upload-success-msg": "Ваша загрузка [$2] прайшла паспяхова. Вы можаце паглядзець вынік тут: [[:{{ns:file}}:$1]]",
        "upload-failure-subj": "Праблема загрузкі",
        "uploadstash-nofiles": "У вас няма схаваных файлаў.",
        "uploadstash-badtoken": "Не атрымалася выканаць названыя дзеянні. Магчыма, скончыўся тэрмін дзеяння вашага жэтона бяспекі. Паспрабуйце яшчэ раз.",
        "uploadstash-errclear": "Ачыстка файлаў не ўдалася",
-       "uploadstash-refresh": "Абнавіць спісак файлаў",
+       "uploadstash-refresh": "Абнавіць спіс файлаў",
        "invalid-chunk-offset": "Недапушчальнае зрушэнне фрагмента",
        "img-auth-accessdenied": "Доступ забаронены",
        "img-auth-nopathinfo": "Адсутнічае PATH_INFO",
        "undelete-nodiff": "Не знойдзены ніякія папярэднія версіі.",
        "undeletebtn": "Аднавіць",
        "undeletelink": "паказаць/аднавіць",
-       "undeleteviewlink": "Ð\9fÑ\80аглÑ\8fдзець",
+       "undeleteviewlink": "паказаць",
        "undeleteinvert": "Перавярнуць выбранае",
        "undeletecomment": "Прычына:",
        "undeletedrevisions": "Адноўлен{{PLURAL:$1|а 1 версія|ыя $1 версій}}",
        "sp-contributions-deleted": "сцёрты ўклад удзельніка",
        "sp-contributions-uploads": "Загрузкі",
        "sp-contributions-logs": "журналы",
-       "sp-contributions-talk": "размова",
+       "sp-contributions-talk": "размовы",
        "sp-contributions-userrights": "распараджэнне правамі ўдзельніка",
        "sp-contributions-blocked-notice": "Гэты ўдзельнік у дадзены момант заблакаваны. Ніжэй прыведзены апошні запіс з журнала блакаванняў:",
        "sp-contributions-blocked-notice-anon": "Гэты IP-адрас у дадзены момант заблакаваны.\nНіжэй прыведзены апошні запіс з журнала блакаванняў:",
index 1763074..9ba8a82 100644 (file)
        "searchmenu-exists": "'''Съществува страница с името „[[:$1]]“ в това уики.'''",
        "searchmenu-new": "'''Създаване на страницата „[[:$1]]“ в това уики!'''",
        "searchprofile-articles": "Съдържателни страници",
-       "searchprofile-project": "Помощни и проектни страници",
        "searchprofile-images": "Мултимедия",
        "searchprofile-everything": "Всичко",
        "searchprofile-advanced": "Разширено търсене",
        "searchprofile-articles-tooltip": "Търсене в $1",
-       "searchprofile-project-tooltip": "Търсене в $1",
        "searchprofile-images-tooltip": "Търсене на файлове",
        "searchprofile-everything-tooltip": "Търсене в цялото съдържание (вкл. беседи)",
        "searchprofile-advanced-tooltip": "Търсене в избрани именни пространства",
        "search-interwiki-default": "$1 резултата:",
        "search-interwiki-more": "(още)",
        "search-relatedarticle": "Свързани",
-       "searcheverything-enable": "Търсене във всички именни пространства",
        "searchrelated": "свързани",
        "searchall": "всички",
        "showingresults": "Показване на до {{PLURAL:$1|'''1''' резултат|'''$1''' резултата}}, като се започва от номер '''$2'''.",
        "allowemail": "Възможност за получаване на писма от други потребители",
        "prefs-searchoptions": "Търсене",
        "prefs-namespaces": "Именни пространства",
-       "defaultns": "Или търсене в следните именни пространства:",
        "default": "по подразбиране",
        "prefs-files": "Файлове",
        "prefs-custom-css": "Личен CSS",
        "prefs-emailconfirm-label": "Потвърждаване на адрес за е-поща:",
        "youremail": "Е-поща:",
        "username": "{{GENDER:$1|Потребителско име}}:",
-       "uid": "{{GENDER:$1|Потребителски}} номер:",
        "prefs-memberingroups": "{{GENDER:$2|Член}} на {{PLURAL:$1|група|групи}}:",
        "prefs-registration": "Регистрация:",
        "yourrealname": "Истинско име:",
        "logempty": "Дневникът не съдържа записи, отговарящи на избрания критерий.",
        "log-title-wildcard": "Търсене на заглавия, започващи със",
        "allpages": "Всички страници",
-       "alphaindexline": "от $1 до $2",
        "nextpage": "Следваща страница ($1)",
        "prevpage": "Предходна страница ($1)",
        "allpagesfrom": "Показване на страниците, като се започва от:",
        "listgrouprights-removegroup-self": "Може да премахва {{PLURAL:$2|група|групи}} от собствената си сметка: $1",
        "listgrouprights-addgroup-self-all": "Може да добавя всички групи към своята сметка",
        "listgrouprights-removegroup-self-all": "Може да премахва всички групи от собствената сметка",
+       "listgrouprights-namespaceprotection-namespace": "Именно пространство",
        "mailnologin": "Няма електронна поща",
        "mailnologintext": "Необходимо е да [[Special:UserLogin|влезете]] и да посочите валидна електронна поща в [[Special:Preferences|настройките]] си, за да може да пращате писма на други потребители.",
        "emailuser": "Писмо до потребителя",
        "pageinfo-category-pages": "Брой страници",
        "pageinfo-category-subcats": "Брой подкатегории",
        "pageinfo-category-files": "Брой файлове",
-       "skinname-cologneblue": "Кьолнско синьо",
        "skinname-monobook": "Монобук",
-       "skinname-modern": "Модерен",
        "markaspatrolleddiff": "Отбелязване като проверена редакция",
        "markaspatrolledtext": "Отбелязване на редакцията като проверена",
        "markedaspatrolled": "Проверена редакция",
        "newimages-summary": "Тази специална страница показва последно качените файлове.",
        "newimages-legend": "Име на файл",
        "newimages-label": "Име на файл (или част от него):",
+       "newimages-showbots": "Показване на качвания от ботове",
        "noimages": "Няма нищо.",
        "ilsubmit": "Търсене",
        "bydate": "по дата",
        "watchlistedit-raw-done": "Списъкът ви за наблюдение беше обновен.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 страница беше добавена|$1 страници бяха добавени}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|Една страница беше премахната|$1 страници бяха премахнати}}:",
+       "watchlisttools-clear": "Изчистване на списъка за наблюдение",
        "watchlisttools-view": "Преглед на списъка за наблюдение",
        "watchlisttools-edit": "Преглед и редактиране на списъка за наблюдение",
        "watchlisttools-raw": "Редактиране на необработения списък за наблюдение",
        "htmlform-no": "Не",
        "htmlform-yes": "Да",
        "htmlform-chosen-placeholder": "Избиране",
+       "htmlform-cloner-create": "Добавяне на още",
+       "htmlform-cloner-delete": "Премахване",
        "sqlite-has-fts": "$1 с поддръжка на пълнотекстово търсене",
        "sqlite-no-fts": "$1 без поддръжка на пълнотекстово търсене",
        "logentry-delete-delete": "$1 {{GENDER:$2|изтри}} страницата $3",
index e5b4d77..a55a808 100644 (file)
        "search-interwiki-default": "$1 থেকে ফলাফলসমূহ:",
        "search-interwiki-more": "(আরও)",
        "search-relatedarticle": "সম্পর্কিত",
-       "searcheverything-enable": "সকল নামস্থানে অনুসন্ধান করো",
        "searchrelated": "সম্পর্কিত",
        "searchall": "সমস্ত",
        "showingresults": "নিচে '''$2''' নং থেকে শুরু করে {{PLURAL:$1|'''1''' ফলাফল|'''$1''' ফলাফলসমূহ}} দেখানো হল।",
        "allowemail": "অন্য ব্যবহারকারীদেরকে আপনাকে ই-মেইল পাঠানোর অনুমতি দিন।",
        "prefs-searchoptions": "অনুসন্ধান",
        "prefs-namespaces": "নামস্থানসমূহ",
-       "defaultns": "নতুবা এই নামস্থানগুলিতে অনুসন্ধান করো:",
        "default": "আদি অবস্থা",
        "prefs-files": "ফাইল",
        "prefs-custom-css": "স্বনির্ধারিত CSS",
index 991f099..35c0489 100644 (file)
        "search-interwiki-default": "Resultats de $1:",
        "search-interwiki-more": "(més)",
        "search-relatedarticle": "Relacionat",
-       "searcheverything-enable": "Cerca a tots els espais de noms",
        "searchrelated": "relacionat",
        "searchall": "tots",
        "showingresults": "Tot seguit es {{PLURAL:$1|mostra el resultat|mostren els <b>$1</b> resultats començant pel número <b>$2</b>}}.",
        "allowemail": "Permet que altres usuaris puguin enviar-me correus electrònics",
        "prefs-searchoptions": "Cerca",
        "prefs-namespaces": "Espais de noms",
-       "defaultns": "Cerca per defecte en els següents espais de noms:",
        "default": "per defecte",
        "prefs-files": "Fitxers",
        "prefs-custom-css": "CSS personalitzat",
index 34952fb..66424d6 100644 (file)
        "search-interwiki-default": "$1 хилам.:",
        "search-interwiki-more": "(кхин)",
        "search-relatedarticle": "ХӀоттаделларг",
-       "searcheverything-enable": "Массо цIера анахь лахар",
        "searchrelated": "хlоттаделларг",
        "searchall": "массо",
        "showingresults": "Лахахьа {{PLURAL:$1|гойта|гойту|гойту}} <strong>$1</strong> {{PLURAL:$1|хилам|хиламаш|хиламаш}}, дlаболало кху № <strong>$2</strong>.",
        "allowemail": "Магийта декъашхошна хьайга электрони почтехула кехат кхехьийта",
        "prefs-searchoptions": "Лаха",
        "prefs-namespaces": "ЦӀерийн ана",
-       "defaultns": "Я лаха лахахь гайтинчу аннашкахь:",
        "default": "Iад йитарца",
        "prefs-files": "Файлаш",
        "prefs-custom-css": "Долахь йолу CSS",
        "prefixindex": "Хьалха агӀонашан цӀераш хӀотто йеза",
        "prefixindex-namespace": "Хьалха агӀонашан цӀераш хӀотто еза («{{ns:$1}}»)",
        "prefixindex-strip": "Хиламийн могӀам чура префикс къайлаяккха",
-       "shortpages": "Ð\91оÑ\86оа Ñ\8fззамаÑ\88",
+       "shortpages": "Боца яззамаш",
        "longpages": "Беха яззамаш",
        "deadendpages": "Дика йоцу агIонаш",
        "protectedpages": "ГIаролла дина агIонаш",
        "table_pager_empty": "Цакарийна",
        "autosumm-blank": "Агӏон чулацам дӏабяккхина",
        "autosumm-replace": "АгӀона чуьраниг хийцина → «$1»",
-       "autoredircomment": "ДӀасахьажийна цуна [[$1]] тӏе",
+       "autoredircomment": "[[$1]] тӀе хьажийна",
        "autosumm-new": "Керла агlо: «$1»",
        "watchlistedit-normal-title": "Тергаме могӀанийн хийцамаш",
        "watchlistedit-normal-legend": "Тергаме могӀам юкъар дӀаяккхар",
index 5e2b77e..817a9ea 100644 (file)
        "mergehistory-same-destination": "پەڕەی سەرچاوە و مەبەست نابێ یەک بن.",
        "mergehistory-reason": "هۆکار:",
        "mergelog": "لۆگی کردنەیەک",
-       "pagemerge-logentry": "[[$1]]ی لەگەڵ [[$2]] کردەیەک (پێداچوونەوەکان ھەتا $3)",
+       "pagemerge-logentry": "[[$1]]ی لەگەڵ [[$2]] کردە یەک (پێداچوونەوەکان ھەتا $3)",
        "revertmerge": "ھەڵوەشاندنەوەی کردنەیەک",
        "mergelogpagetext": "لە خوارەوە دوایین مێژووی‌لاپەڕە خستنە سەر لاپەڕەیەکی‌تر، دەبینی.",
        "history-title": "مێژووی پێداچوونەوەکانی «$1»",
        "search-interwiki-default": "$1 ئەنجام:",
        "search-interwiki-more": "(زیاتر)",
        "search-relatedarticle": "پەیوەست",
-       "searcheverything-enable": "لە ھەموو بۆشاییی ناوەکاندا بگەڕێ",
        "searchrelated": "پەیوەست",
        "searchall": "ھەموو",
        "showingresults": "لە خوارەوە {{PLURAL:$1|'''یەک''' ئەنجام|'''$1''' ئەنجام}} نیشان دراوە، بە دەست پێ کردن لە ژمارەی '''$2'''ەوە.",
        "allowemail": "ڕێگە بدە بە بەکارھێنەرانی تر کە ئیمەیلم بۆ بنێرن",
        "prefs-searchoptions": "گەڕان",
        "prefs-namespaces": "بۆشایی ناوەکان",
-       "defaultns": "دەنا لەم بۆشاییی ناوانەدا بگەڕێ:",
        "default": "بنچینەیی",
        "prefs-files": "پەڕگەکان",
        "prefs-custom-css": "CSSی دڵخواز",
        "right-move": "گواستنەوەی پەڕەکان",
        "right-move-subpages": "گواستنەوەی پەڕەکان لەگەڵ ژێرپەڕەکانی",
        "right-move-rootuserpages": "گواستنەوەی پەڕە بنەڕەتییەکانی بەکارھێنەر",
+       "right-move-categorypages": "گواستنەوەی پەڕەکانی پۆل",
        "right-movefile": "گواستنەوەی پەڕگەکان",
        "right-suppressredirect": "دروست‌ نەکردنی ڕەوانەکەر لە پەڕەی سەرچاوەوە کاتی گواستنەوەی پەڕەکان",
        "right-upload": "بارکردنی پەڕگەکان",
index c3c0736..3c328ec 100644 (file)
        "categorypage": "Vede a pagina di categuria",
        "viewtalkpage": "Vede a discussione",
        "otherlanguages": "In altre lingue",
+       "redirectpagesub": "Pagina di reindirizzamentu",
        "lastmodifiedat": "Ultima mudifica di sta pagina u $1 à e $2.",
        "protectedpage": "Pagina prutetta",
        "jumpto": "Andà à:",
        "searchmenu-exists": "'''Esiste nantu à u situ una pagina intitulata \"[[:$1]]\"'''",
        "searchmenu-new": "Creà a pagina \"[[:$1]]\" annantu à 'ssu situ",
        "searchprofile-articles": "Pagine di cuntenuti",
-       "searchprofile-project": "Pagine di aiutu è relative à u prugettu",
        "searchprofile-everything": "Tuttu",
        "searchprofile-advanced": "Avanzatu",
        "searchprofile-articles-tooltip": "Circà in $1",
-       "searchprofile-project-tooltip": "Circà in $1",
        "searchprofile-everything-tooltip": "Circà dapertuttu (incluse e pagine di discussione)",
        "search-result-size": "$1 ({{PLURAL:$2|1 parolla|$2 parolle}})",
        "search-section": "(sezzione $1)",
index 5f27285..ba9a538 100644 (file)
        "search-interwiki-default": "$1 нетидже:",
        "search-interwiki-more": "(даа чокъ)",
        "search-relatedarticle": "Багълы",
-       "searcheverything-enable": "Бутюн исим фезаларында къыдыр",
        "searchrelated": "багълы",
        "searchall": "эписи",
        "showingresults": "Ашагъыда №&nbsp;<strong>$2</strong>ден башлап {{PLURAL:$1|1='''1''' нетидже|'''$1''' нетидже}} булуна.",
        "allowemail": "Дигер къулланыджылар манъа e-mail мектюплери ёллап олсун",
        "prefs-searchoptions": "Къыдырув сазламалары",
        "prefs-namespaces": "Исим фезалары",
-       "defaultns": "Акис алда бу исим фезаларында къыдыр:",
        "default": "оригинал",
        "prefs-files": "Файллар",
        "prefs-reset-intro": "Бу саифени сазламаларынъызны сайт ог бельгиленгенине къайтармакъ ичюн къуллана билесинъиз. Бу лягъу этилип оламаз.",
index b27cb20..940e4d7 100644 (file)
        "search-interwiki-default": "$1 netice:",
        "search-interwiki-more": "(daa çoq)",
        "search-relatedarticle": "Bağlı",
-       "searcheverything-enable": "Bütün isim fezalarında qıdır",
        "searchrelated": "bağlı",
        "searchall": "episi",
        "showingresults": "Aşağıda №&nbsp;<strong>$2</strong>den başlap {{PLURAL:$1|'''1''' netice|'''$1''' netice}} buluna.",
        "allowemail": "Diger qullanıcılar maña e-mail mektüpleri yollap olsun",
        "prefs-searchoptions": "Qıdıruv sazlamaları",
        "prefs-namespaces": "İsim fezaları",
-       "defaultns": "Akis alda bu isim fezalarında qıdır:",
        "default": "original",
        "prefs-files": "Fayllar",
        "prefs-reset-intro": "Bu saifeni sazlamalarıñıznı sayt ög belgilengenine qaytarmaq içün qullana bilesiñiz. Bu lâğu etilip olamaz.",
index cb3d5a9..98e2254 100644 (file)
        "search-interwiki-default": "Výsledky z $1:",
        "search-interwiki-more": "(více)",
        "search-relatedarticle": "Související",
-       "searcheverything-enable": "Hledat ve všech jmenných prostorech",
        "searchrelated": "související",
        "searchall": "vše",
        "showingresults": "Níže zobrazuji nejvýše <strong>$1</strong> {{PLURAL:$1|výsledek|výsledky|výsledků}} počínaje od <strong>$2</strong>.",
        "allowemail": "Povolit e-mail od ostatních uživatelů",
        "prefs-searchoptions": "Vyhledávání",
        "prefs-namespaces": "Jmenné prostory",
-       "defaultns": "Nebo hledat v těchto jmenných prostorech:",
        "default": "implicitní",
        "prefs-files": "Soubory",
        "prefs-custom-css": "Vlastní CSS",
index 7ee948e..44d5e57 100644 (file)
        "accountcreated": "мѣсто сътворєно ѥстъ",
        "accountcreatedtext": "польꙃєватєльско мѣсто [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|бєсѣда]]) сътворєно бѣ",
        "loginlanguagelabel": "ѩꙁꙑкъ : $1",
+       "pt-userlogout": "ис̾ходъ",
        "changepassword": "таина словєсє иꙁмѣнѥниѥ",
        "resetpass_header": "таина слова иꙁмѣнѥниѥ",
        "oldpassword": "старо таино слово :",
        "template-protected": "(ꙁабранєно ѥстъ)",
        "template-semiprotected": "(чѧстьно ꙁабранѥно)",
        "hiddencategories": "сꙗ страница въ {{PLURAL:$1|1 съкрꙑтѣи катигорїи|$1 съкрꙑтѣхъ катигорїѩ}} сѧ авлꙗѥтъ :",
-       "postedit-confirmation": "твоꙗ мѣна съхранѥна ѥстъ",
+       "postedit-confirmation-saved": "твоꙗ мѣна съхранѥна ѥстъ",
        "viewpagelogs": "си страницѧ їсторїѩ",
        "cur": "нꙑ҃н",
        "last": "пс҃лд",
        "searchmenu-exists": "'''страница имєньмь ⁖ [[:$1]] ⁖ ѥстъ створѥна ю'''",
        "searchmenu-new": "<strong>страницѫ \"⁖ [[:$1]] ⁖\" сътворити можєши</strong> {{PLURAL:$2|0=|ꙁъри такождє страница ижє по искании авлєна ѥстъ|ꙁьри такождє исканиꙗ слѣдьствиꙗ}}",
        "searchprofile-articles": "члѣни",
-       "searchprofile-project": "опꙑтьствовании и помощи страницѧ",
        "searchprofile-images": "дѣла",
        "searchprofile-everything": "вьсѩ страницѧ",
        "searchprofile-articles-tooltip": "ищи въ $1",
-       "searchprofile-project-tooltip": "исканиѥ въ $1",
        "searchprofile-images-tooltip": "исканиѥ дѣлъ",
        "searchprofile-everything-tooltip": "ищи вьсѩ страницѧ въкоупомь съ бѣсєдꙑ",
        "search-result-size": "$1 ({{PLURAL:$2|$2 слово|$2 слова|$2 словєсъ}})",
        "search-interwiki-more": "(вѧщє)",
        "searchall": "вьсꙗ",
        "search-nonefound": "исканиѥ сꙗ слова ничєсо жє нє авило ѥстъ",
-       "powersearch-redir": "прѣнаправлѥниꙗ",
        "preferences": "строи",
        "mypreferences": "строи",
        "prefs-edits": "мѣнъ число :",
        "prefs-namespaces": "имєнъ просторꙑ",
        "prefs-files": "дѣла",
        "username": "{{GENDER:$1|польꙃєватєлꙗ имѧ}} :",
-       "uid": "{{GENDER:$1|польꙃєватєлꙗ}} число :",
        "prefs-memberingroups": "{{GENDER:$2|польꙃєватєлꙗ}} {{PLURAL:$1|чинъ|чина|чинꙑ}} :",
        "yourrealname": "истиньно имѧ :",
        "yourlanguage": "ѩꙁꙑкъ :",
        "log": "їсторїѩ",
        "all-logs-page": "вьсѩ обьщѧ їсторїѩ",
        "allpages": "вьсѩ страницѧ",
-       "alphaindexline": "отъ $1 до $2",
        "allpagesfrom": "страницѧ видѣти хощѫ съ начѧльнами боукъвами :",
        "allarticles": "вьсѩ страницѧ",
        "allpagessubmit": "прѣиди",
        "block": "ꙁагради польꙃєватєл҄ь",
        "blockip": "ꙁагради польꙃєватєл҄ь",
        "blockip-legend": "ꙁагради польꙃєватєл҄ь",
-       "ipadressorusername": "IP число или польꙃєватєлꙗ имѧ :",
+       "ipaddressorusername": "IP число или польꙃєватєлꙗ имѧ :",
        "ipbreason": "какъ съмꙑслъ :",
        "ipbother": "ино врѣмѧ :",
        "ipboptions": "2 часа:2 hours,1 дьнь:1 day,3 дьни:3 days,1 сєдмица:1 week,2 сєдмици:2 weeks,1 мѣсѧць:1 month,3 мѣсѧць:3 months,6 мѣсѧць:6 months,1 лѣто:1 year,вѣчьно:infinite",
        "svg-long-desc": "дѣло SVG · обꙑчьнъ обраꙁъ : $1 × $2 п҃ѯ · дѣла мѣра : $3",
        "show-big-image": "источьнъ дѣла обраꙁъ",
        "show-big-image-size": "$1 × $2 пиѯєлъ",
-       "showhidebots": "($1 аѵтоматъ)",
        "ilsubmit": "ищи",
        "monday-at": "понєдѣл҄ьникъ · $1",
        "tuesday-at": "въторьникъ · $1",
        "specialpages": "нарочьнꙑ страницѧ",
        "tag-filter": "[[Special:Tags|мѣтъць]] сито :",
        "tags-edit": "исправи",
-       "dberr-header": "Вики тєхнїчьнꙑ отѧжєниꙗ имѣтъ",
        "htmlform-no": "нѣтъ",
        "htmlform-yes": "да",
        "logentry-delete-delete": "$1 {{GENDER:$2|поничьжилъ|поничьжила}} страницѫ ⁖ $3 ⁖",
index 9094b9c..1c51611 100644 (file)
        "editthispage": "Golygwch y dudalen hon",
        "create-this-page": "Creu'r dudalen",
        "delete": "Dileu",
-       "deletethispage": "Dileer y dudalen hon",
+       "deletethispage": "Dilëir y dudalen hon",
        "undeletethispage": "Adfer y dudalen hon",
        "undelete_short": "Adfer $1 {{PLURAL:$1|golygiad|golygiad|olygiad|golygiad}}",
        "viewdeleted_short": "Edrych ar y {{PLURAL:$1|golygiad sydd wedi'i ddileu|golygiad sydd wedi'i ddileu|$1 olygiad sydd wedi'u dileu|$1 golygiad sydd wedi'u dileu|$1 golygiad sydd wedi'u dileu|$1 golygiad sydd wedi'u dileu}}",
        "searchmenu-exists": "'''Mae tudalen o'r enw \"[[$1]]\" ar y wici hwn'''",
        "searchmenu-new": "'''Creu'r dudalen \"[[:$1]]\" ar y wici hwn!''' {{PLURAL:$2||Gweler hefyd y dudalen a ganfyddwyd wrth chwilio.|Gweler hefyd y canlyniadau chwilio.}}",
        "searchprofile-articles": "Tudalennau pwnc (erthyglau/ffeiliau)",
-       "searchprofile-project": "Tudalennau Cymorth a Phrosiect",
        "searchprofile-images": "Ffeiliau amlgyfrwng",
        "searchprofile-everything": "Popeth",
        "searchprofile-advanced": "Uwch",
        "searchprofile-articles-tooltip": "Chwilio drwy $1",
-       "searchprofile-project-tooltip": "Chwilio drwy $1",
        "searchprofile-images-tooltip": "Chwilio am ffeiliau",
        "searchprofile-everything-tooltip": "Chwilio'r cynnwys cyfan (gan gynnwys tudalennau sgwrs)",
        "searchprofile-advanced-tooltip": "Chwilio drwy parthau dewisol",
        "search-interwiki-default": "Y canlyniadau o $1:",
        "search-interwiki-more": "(rhagor)",
        "search-relatedarticle": "Erthyglau eraill tebyg",
-       "searcheverything-enable": "Chwilio pob parth",
        "searchrelated": "erthyglau eraill tebyg",
        "searchall": "oll",
        "showingresults": "Yn dangos $1 {{PLURAL:$1|canlyniad|canlyniad|ganlyniad|chanlyniad|chanlyniad|canlyniad}} isod gan ddechrau gyda rhif '''$2'''.",
        "allowemail": "Galluogi e-bost oddi wrth ddefnyddwyr eraill",
        "prefs-searchoptions": "Chwilio",
        "prefs-namespaces": "Parthau",
-       "defaultns": "Neu chwilio'r parthau isod:",
        "default": "rhagosodyn",
        "prefs-files": "Ffeiliau",
        "prefs-custom-css": "CSS o hunan-ddewis",
        "enotif_body": "Annwyl $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nCrynodeb y golygydd: $PAGESUMMARY $PAGEMINOREDIT\n\nCysylltu â'r golygydd:\ne-bost: $PAGEEDITOR_EMAIL\nwici: $PAGEEDITOR_WIKI\n\nOs bydd mwy o drin a thrafod ar y dudalen cyn i chi ymweld â hi tra eich bod wedi mewngofnodi, ni chewch ragor o negeseuon hysbysu. Nodwn bod modd i chi ailosod y fflagiau hysbysu ar eich rhestr wylio, ar gyfer y tudalennau rydych yn eu gwylio.\n\n             Sustem hysbysu {{SITENAME}}\n\n--\nI newid eich gosodiadau negeseuon hysbysu, ewch i \n{{canonicalurl:{{#special:Preferences}}}}\n\nI newid eich gosodiadau gwylio, ewch i\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nI dynnu'r dudalen oddi ar eich rhestr wylio, ewch i\n$UNWATCHURL\n\nAm fwy o gymorth ac adborth:\n$HELPPAGE",
        "created": "crëwyd",
        "changed": "Newidiwyd",
-       "deletepage": "Dileer y dudalen",
+       "deletepage": "Dilëir y dudalen",
        "confirm": "Cadarnhau",
        "excontent": "y cynnwys oedd: '$1'",
        "excontentauthor": "y cynnwys oedd: '$1' (a'r unig gyfrannwr oedd '[[Special:Contributions/$2|$2]]')",
        "pageinfo-category-pages": "Nifer y tudalennau",
        "pageinfo-category-subcats": "Nifer yr is-gategorïau",
        "pageinfo-category-files": "Nifer y ffeiliau",
-       "skinname-cologneblue": "Glas Cwlen",
        "markaspatrolleddiff": "Marcio ei bod wedi derbyn ymweliad patrôl",
        "markaspatrolledtext": "Marcio bod y dudalen wedi derbyn ymweliad patrôl",
        "markedaspatrolled": "Gosodwyd marc ei bod wedi derbyn ymweliad patrôl",
index 7a6b218..ddb5812 100644 (file)
        "currentrev": "Aktuelle Version",
        "currentrev-asof": "Aktuelle Version vom $2, $3 Uhr",
        "revisionasof": "Version vom $2, $3 Uhr",
-       "revision-info": "Version vom $4, $5 Uhr von $2",
+       "revision-info": "Version vom $4, $5 Uhr von {{GENDER:$6|$2}}$7",
        "previousrevision": "← Nächstältere Version",
        "nextrevision": "Nächstjüngere Version →",
        "currentrevisionlink": "Aktuelle Version",
        "search-interwiki-default": "Ergebnisse von $1:",
        "search-interwiki-more": "(weitere)",
        "search-relatedarticle": "Verwandte",
-       "searcheverything-enable": "In allen Namensräumen suchen",
        "searchrelated": "verwandt",
        "searchall": "alle",
        "showingresults": "Hier {{PLURAL:$1|ist '''1''' Ergebnis|sind '''$1''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
        "powersearch-togglelabel": "Wähle aus:",
        "powersearch-toggleall": "Alle",
        "powersearch-togglenone": "Keine",
+       "powersearch-remember": "Auswahl für zukünftige Suchanfragen merken",
        "search-external": "Externe Suche",
        "searchdisabled": "Die {{SITENAME}}-Suche ist deaktiviert. Du kannst unterdessen mit Google suchen. Bitte bedenke, dass der Suchindex von {{SITENAME}} veraltet sein kann.",
        "search-error": "Bei der Suche ist ein Fehler aufgetreten: $1",
        "prefs-email": "E-Mail-Optionen",
        "prefs-rendering": "Aussehen",
        "saveprefs": "Einstellungen speichern",
-       "restoreprefs": "Alle Standardeinstellungen wiederherstellen (in allen Abschnitten)",
+       "restoreprefs": "Standardeinstellungen wiederherstellen (in allen Abschnitten)",
        "prefs-editing": "Bearbeiten",
        "rows": "Zeilen:",
        "columns": "Spalten:",
        "allowemail": "E-Mail-Empfang von anderen Benutzern ermöglichen",
        "prefs-searchoptions": "Suche",
        "prefs-namespaces": "Namensräume",
-       "defaultns": "Anderenfalls in diesen Namensräumen suchen:",
        "default": "Voreinstellung",
        "prefs-files": "Dateien",
        "prefs-custom-css": "Benutzerdefinierte CSS",
        "recentchangeslinked-title": "Änderungen an Seiten, die von „$1“ verlinkt sind",
        "recentchangeslinked-summary": "Diese Spezialseite listet die letzten Änderungen an den verlinkten Seiten auf (bzw. bei Kategorien an den Mitgliedern dieser Kategorie). Seiten auf deiner [[Special:Watchlist|Beobachtungsliste]] sind '''fett''' dargestellt.",
        "recentchangeslinked-page": "Seite:",
-       "recentchangeslinked-to": "Zeige Änderungen auf Seiten, die hierher verlinken",
+       "recentchangeslinked-to": "Zeige nur Änderungen auf Seiten, die auf diese Seite verlinken",
        "upload": "Datei hochladen",
        "uploadbtn": "Datei hochladen",
        "reuploaddesc": "Abbrechen und zurück zur Hochladen-Seite",
        "version-credits-not-found": "Es wurden keine detaillierten Danksagungsinformationen für diese Erweiterung gefunden.",
        "version-poweredby-credits": "Diese Website nutzt '''[https://www.mediawiki.org/wiki/MediaWiki/de MediaWiki]''', Copyright © 2001–$1 $2.",
        "version-poweredby-others": "andere",
-       "version-poweredby-translators": "Übersetzer von translatewiki.net",
+       "version-poweredby-translators": "die Übersetzer von translatewiki.net",
        "version-credits-summary": "Wir danken folgenden Personen für ihre Beiträge zu [[Special:Version|MediaWiki]].",
        "version-license-info": "MediaWiki ist eine Freie Software, d. h. sie kann, gemäß den Bedingungen der von der Free Software Foundation veröffentlichten ''GNU General Public License'', weiterverteilt und/oder modifiziert werden. Dabei kann die Version 2, oder nach eigenem Ermessen, jede neuere Version der Lizenz verwendet werden.\n\nDie Software MediaWiki wird in der Hoffnung verteilt, dass sie nützlich sein wird, allerdings OHNE JEGLICHE GARANTIE und sogar ohne die implizierte Garantie einer MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Hierzu sind weitere Hinweise in der ''GNU General Public License'' enthalten.\n\nEine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License''] sollte zusammen mit diesem Programm verteilt worden sein. Sofern dies nicht der Fall war, kann eine Kopie bei der Free Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA, schriftlich angefordert oder auf deren Website [//www.gnu.org/licenses/old-licenses/gpl-2.0.html online gelesen] werden.",
        "version-software": "Installierte Software",
index 97981d9..ea174d6 100644 (file)
        "search-interwiki-default": "$1 ra neticey:",
        "search-interwiki-more": "(véşi)",
        "search-relatedarticle": "Eleqeyın",
-       "searcheverything-enable": "cayê nameyê hemi de bigêre",
        "searchrelated": "eleqeyın",
        "searchall": "pêro",
        "showingresults": "#<strong>$2</strong> netican ra {{PLURAL:$1|<strong>1</strong> netice cêr dero|<strong>$1</strong> neticey cêr derê}}.",
        "allowemail": "Karberê bini wa bışê mı rê e-posta bırışê.",
        "prefs-searchoptions": "Cı geyre",
        "prefs-namespaces": "Heruna naman",
-       "defaultns": "Eke heni, enê cayanê namey de cı geyre (sae ke):",
        "default": "qısur",
        "prefs-files": "Dosyey",
        "prefs-custom-css": "CSSê xasi",
        "rc-change-size-new": "Vurnayışa dıma $1 {{PLURAL:$1|bayt|bayt}}",
        "newsectionsummary": "/* $1 */ qısımo newe",
        "rc-enhanced-expand": "Detaya bıvin (JavaScript lazımo)",
-       "rc-enhanced-hide": "Detaya bınımnê",
+       "rc-enhanced-hide": "Melumat bınımne",
        "rc-old-title": "\"$1\"i orcinalê cı vıraşt",
        "recentchangeslinked": "Vurnayışê elaqeyıni",
        "recentchangeslinked-feed": "Vurnayışê elaqeyıni",
        "exif-imageuniqueid": "şınasnameyê resmê xususiyi",
        "exif-gpsversionid": "revizyonê GPSyi",
        "exif-gpslatituderef": "paralelê zıme û veroci",
-       "exif-gpslatitude": "Heralem",
+       "exif-gpslatitude": "Verıniye",
        "exif-gpslongituderef": "meridyenê rocvetış û rocawavi",
-       "exif-gpslongitude": "Lemen",
+       "exif-gpslongitude": "Derganiye",
        "exif-gpsaltituderef": "çımeyê berziyi",
        "exif-gpsaltitude": "Berziye",
        "exif-gpstimestamp": "Wextê GPSyi (se'eta atomiki)",
index 938621b..5d2a038 100644 (file)
        "sectioneditnotsupported-text": "Mudéfica dal sesiòun mìa sustgnûda in cla pàgina ché.",
        "permissionserrors": "I permès în mìa asê",
        "permissionserrorstext": "An 's gh'à mìa i permès necesâri per fêr còl ch'es pèinsa ed fêr per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
-       "permissionserrorstext-withaction": "An 's gh'à mìa i permès necesâri per $2, per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
+       "permissionserrorstext-withaction": "An 's gh'à mìa i permès necesâri per $2, per {{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
        "recreate-moveddeleted-warn": "'''Atensiòun: a s'é drē serchêr ed fêr 'na pàgina bèle scanşlêda tèimp fa'''. \n\nAsicurêres che sìa dabòun necesâri cuntinvêr a mudifichêr cla pàgina ché.\nPer cumditê còst l'é l'èlèinch dal scanşladûri e di spustamèint relatîv a la pàgina.",
        "moveddeleted-notice": "Cla pàgina ché l'é stêda scanşlêda. Per infurmasiòun  còst l'é l'èlèinch relatîv dal scanşladûri e di spustemèint fât.",
        "log-fulllog": "Guêrda la stòria dal registrasiòun",
        "revdelete-edit-reasonlist": "Câmbia i mutîv per la scanşladûra",
        "revdelete-offender": "Avtōr ed la versiòun:",
        "suppressionlog": "Tâj",
+       "suppressionlogtext": "Ed sègvit a gh'é l'elèinch dal saccnşladûri e i blôch cun 'd j elemèint lughê a j aministradōr. Guêrda l'[[Special:BlockList|elèinch di blôch]] per l'elèinch ed j avîş e di blôch in funsiòun adès.",
+       "mergehistory": "Unîr al stôri",
+       "mergehistory-header": "Cla pàgina ché la permèt 'd unîr al versiòun che fân pêrt ed la stòria 'd 'na pàgina (ciamêda pàgina 'd urégin) a la stòria ed 'na pàgina pió nōva. L'é necesâri sicurêres che la cuntinvasiòun stòrica 'd la pàgina l'an vègna mìa falsêda.",
+       "mergehistory-box": "Unés la stòria ed dō pàgini:",
+       "mergehistory-from": "Pàgina 'd urégin:",
+       "mergehistory-into": "Pàgina in dó la gh'à d' andêr:",
+       "mergehistory-list": "Stòria in dó 's pōl tachêr l'uniòun",
+       "mergehistory-merge": "L' é pusébil unîr al versiòun ed [[:$1]] sgnêdi ed sègvit al la stòria ed [[:$2]]. Druvêr la clòuna cun i ptòun ed siēlta per unîr tót al versiòun fîn a la dâta e ōra sgnêdi. Da nutêr che se vînen druvê i ptòun ed navigasiòun, la clòuna cun i ptòun ed siēlta l' an pōl mìa èsere druvêda.",
+       "mergehistory-go": "Fà vèder al mudéfichi che pōlen èser unîdi",
+       "mergehistory-submit": "Unés al versiòun",
+       "mergehistory-empty": "Nisòna versiòun da unîr",
+       "mergehistory-success": "{{PLURAL:$3|'Na versiòun ed [[:$1]] l'é stêda unîda|$3 versiòn ed [[:$1]] în stêdi unîdi}} al la stòria ed [[:$2]].",
        "revertmerge": "Scanşèla l'uniòun",
        "history-title": "$1 stòria dal mudéfichi",
        "lineno": "Rîga $1:",
index 85e1bdc..89cf2a5 100644 (file)
        "currentrev": "Latest revision",
        "currentrev-asof": "Latest revision as of $1",
        "revisionasof": "Revision as of $1",
-       "revision-info": "Revision as of $1 by $2",
+       "revision-info": "Revision as of $1 by {{GENDER:$6|$2}}$7",
        "revision-info-current": "-",
        "revision-nav": "($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)",
        "previousrevision": "← Older revision",
        "search-interwiki-custom": "",
        "search-interwiki-more": "(more)",
        "search-relatedarticle": "Related",
-       "searcheverything-enable": "Search in all namespaces",
        "searchrelated": "related",
        "searchall": "all",
        "showingresults": "Showing below up to {{PLURAL:$1|<strong>1</strong> result|<strong>$1</strong> results}} starting with #<strong>$2</strong>.",
        "powersearch-togglelabel": "Check:",
        "powersearch-toggleall": "All",
        "powersearch-togglenone": "None",
+       "powersearch-remember": "Remember selection for future searches",
        "search-external": "External search",
        "searchdisabled": "{{SITENAME}} search is disabled.\nYou can search via Google in the meantime.\nNote that their indexes of {{SITENAME}} content may be out of date.",
        "googlesearch": "<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n\t<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n\t<input type=\"hidden\" name=\"num\" value=\"50\" />\n\t<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n\t<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n\t<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n\t<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n\t<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n\t<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>",
        "allowemail": "Enable email from other users",
        "prefs-searchoptions": "Search",
        "prefs-namespaces": "Namespaces",
-       "defaultns": "Otherwise search in these namespaces:",
        "default": "default",
        "prefs-files": "Files",
        "prefs-custom-css": "Custom CSS",
index d2c1ead..7948830 100644 (file)
        "search-interwiki-default": "Resultados de $1:",
        "search-interwiki-more": "(más)",
        "search-relatedarticle": "Relacionado",
-       "searcheverything-enable": "Buscar en todos los espacios de nombres",
        "searchrelated": "relacionado",
        "searchall": "todos",
        "showingresults": "Abajo se {{PLURAL:$1|muestra '''1''' resultado|muestran hasta '''$1''' resultados}} comenzando por el n.º '''$2'''.",
        "allowemail": "Aceptar correo electrónico de otros usuarios",
        "prefs-searchoptions": "Buscar",
        "prefs-namespaces": "Espacios de nombres",
-       "defaultns": "De lo contrario, buscar en estos espacios de nombres:",
        "default": "predeterminado",
        "prefs-files": "Archivos",
        "prefs-custom-css": "CSS personalizado",
index d311c95..941dfb9 100644 (file)
        "search-interwiki-default": "Tulemused asukohast $1:",
        "search-interwiki-more": "(veel)",
        "search-relatedarticle": "Seotud",
-       "searcheverything-enable": "Otsi kõigist nimeruumidest",
        "searchrelated": "seotud",
        "searchall": "kõik",
        "showingresults": "Allpool näidatakse '''{{PLURAL:$1|ühte|$1}}''' tulemust alates '''$2'''. tulemusest.",
        "allowemail": "Luba teistel kasutajatel mulle e-kirju saata",
        "prefs-searchoptions": "Otsimine",
        "prefs-namespaces": "Nimeruumid",
-       "defaultns": "Muul juhul otsi järgmistest nimeruumidest:",
        "default": "vaikeväärtus",
        "prefs-files": "Failid",
        "prefs-custom-css": "kohandatud CSS",
index d4b7d19..e52f495 100644 (file)
        "search-interwiki-default": "$1(r)en emaitzak:",
        "search-interwiki-more": "(gehiago)",
        "search-relatedarticle": "Erlazionatua",
-       "searcheverything-enable": "Bilatu izen-tarte guztietan",
        "searchrelated": "erlazionatua",
        "searchall": "guztia",
        "showingresults": "Jarraian {{PLURAL:$1|emaitza '''1''' ikus daiteke|'''$1''' emaitza ikus daitezke}}, #'''$2'''.etik hasita.",
        "allowemail": "Beste erabiltzaileengandik e-posta mezuak jasotzea gaitu",
        "prefs-searchoptions": "Bilatu",
        "prefs-namespaces": "Izen-tarteak",
-       "defaultns": "Bestela izen-tarte hauetan bilatu:",
        "default": "lehenetsia",
        "prefs-files": "Fitxategiak",
        "prefs-custom-css": "CSS pertsonalizatua",
index 26bc4c0..eaec19a 100644 (file)
        "search-interwiki-default": "نتایج از $1 :",
        "search-interwiki-more": "(بیشتر)",
        "search-relatedarticle": "مرتبط",
-       "searcheverything-enable": "جستجو در تمام فضاهای نام",
        "searchrelated": "مرتبط",
        "searchall": "همه",
        "showingresults": "نمایش حداکثر {{PLURAL:$1|'''۱''' نتیجه|'''$1''' نتیجه}} در پایین، آغاز از شماره '''$2'''.",
        "allowemail": "امکان دریافت رایانامه از دیگر کاربران",
        "prefs-searchoptions": "جستجو",
        "prefs-namespaces": "فضاهای نام",
-       "defaultns": "در غیر این صورت جستجو در این فضاهای نام:",
        "default": "پیش‌فرض",
        "prefs-files": "پرونده‌ها",
        "prefs-custom-css": "سی‌اس‌اس شخصی",
index 69f021f..8330800 100644 (file)
        "search-interwiki-default": "Tulokset osoitteesta $1:",
        "search-interwiki-more": "(lisää)",
        "search-relatedarticle": "Hae samankaltaisia sivuja",
-       "searcheverything-enable": "Hae kaikista nimiavaruuksista",
        "searchrelated": "samankaltainen",
        "searchall": "kaikki",
        "showingresults": "Alla on vain {{PLURAL:$1|<strong>1</strong> hakutulos|<strong>$1</strong> hakutulosta}} alkaen tuloksesta nro <strong>$2</strong>.",
        "powersearch-togglelabel": "Muuta valintaa",
        "powersearch-toggleall": "Valitse kaikki",
        "powersearch-togglenone": "Ei mitään",
+       "powersearch-remember": "Muista valinta tulevia hakuja varten",
        "search-external": "Ulkoinen haku",
        "searchdisabled": "Tekstihaku on poistettu toistaiseksi käytöstä suuren kuorman vuoksi. Voit käyttää alla olevaa Googlen hakukenttää sivujen etsimiseen, kunnes haku tulee taas käyttöön. <small>Huomaa, että ulkopuoliset kopiot {{GRAMMAR:genitive|{{SITENAME}}}} sisällöstä eivät välttämättä ole ajan tasalla.</small>",
        "search-error": "Virhe ilmaantui haettaessa: $1",
        "allowemail": "Salli sähköpostin lähetys osoitteeseen",
        "prefs-searchoptions": "Haku",
        "prefs-namespaces": "Nimiavaruudet",
-       "defaultns": "Muussa tapauksessa hae näistä nimiavaruuksista:",
        "default": "oletus",
        "prefs-files": "Tiedostot",
        "prefs-custom-css": "Käyttäjäkohtainen CSS-tyylisivu",
        "upload_directory_read_only": "Palvelimella ei ole kirjoitusoikeuksia tallennushakemistoon $1.",
        "uploaderror": "Tallennusvirhe",
        "upload-recreate-warning": "<strong>Varoitus: Tiedosto tällä nimellä on poistettu tai siirretty.</strong>\n\nPoisto- ja siirtoloki tälle sivulle näkyy alla:",
-       "uploadtext": "Voit tallentaa tiedostoja alla olevalla lomakkeella. [[Special:FileList|Tiedostoluettelo]] sisältää listan tallennetuista tiedostoista. Tallennukset kirjataan myös [[Special:Log/upload|tallennuslokiin]], ja poistot [[Special:Log/delete|poistolokiin]].\n\nVoit käyttää tiedostoja wikisivuilla seuraavilla tavoilla:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Tiedosto.jpg]]</nowiki></code>''', käyttääksesi tiedoston täyttä versiota.\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Tiedosto.png|200px|thumb|left|Kuvausteksti]]</nowiki></code>''', käyttääksesi tiedostoa sovitettuna 200 kuvapistettä leveään laatikkoon kuvaustekstillä.\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Tiedosto.ogg]]</nowiki></code>''', jos haluat suoran linkin tiedostoon.",
+       "uploadtext": "Käytä tätä alla olevaa lomaketta tiedostojen tallentamiseen.\nVoit katsella luetteloa aiemmin tallennetuista tiedostoista sivulla [[Special:FileList|tiedostoluettelo]]. Kaikki tallennukset kirjataan myös [[Special:Log/upload|tallennuslokiin]] ja tiedostojen poistot [[Special:Log/delete|poistolokiin]].\n\nJotta saat tiedoston näkymään sivulla, käytä jotakin seuraavista muotoiluista linkkinä siihen:\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Tiedosto.jpg]]</nowiki></code></strong> käyttääksesi tiedoston kokonaista versiota.\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Tiedosto.png|200px|thumb|left|teksti tähän]]</nowiki></code></strong> käyttääksesi tiedostoa sovitettuna 200 kuvapistettä leveään laatikkoon kuvatekstillä \"teksti tähän\".\n* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Tiedosto.ogg]]</nowiki></code></strong>, jos haluat suoran linkin tiedostoon ilman että tiedostoa näytetään.",
        "upload-permitted": "Sallitut tiedostomuodot: $1.",
        "upload-preferred": "Suositellut tiedostomuodot: $1.",
        "upload-prohibited": "Kielletyt tiedostomuodot: $1.",
        "uploadlogpagetext": "Alla on luettelo uusimmista tiedostonlisäyksistä. Kaikki ajat näytetään palvelimen aikavyöhykkeessä.",
        "filename": "Tiedoston nimi:",
        "filedesc": "Yhteenveto",
-       "fileuploadsummary": "Yhteenveto",
-       "filereuploadsummary": "Muutokset",
+       "fileuploadsummary": "Yhteenveto:",
+       "filereuploadsummary": "Muutokset tiedostoon:",
        "filestatus": "Tiedoston tekijänoikeudet",
        "filesource": "Lähde",
        "ignorewarning": "Tallenna tiedosto varoituksesta huolimatta.",
        "largefileserver": "Tämä tiedosto on suurempi kuin mitä palvelin sallii.",
        "emptyfile": "Tiedosto, jota yritit lähettää, näyttää olevan tyhjä. Tarkista, että kirjoitit polun ja nimen oikein ja että se ei ole liian suuri kohdepalvelimelle.",
        "windows-nonascii-filename": "Tämä wiki ei tue tiedostonimiä, joissa on erikoismerkkejä.",
-       "fileexists": "Samanniminen tiedosto on jo olemassa.\nKatso tiedoston sivu <strong>[[:$1]]</strong>, jos et ole varma, haluatko muuttaa sitä.\n[[$1|thumb]]",
+       "fileexists": "Samanniminen tiedosto on jo olemassa.\nTarkasta tiedosto <strong>[[:$1]]</strong>, mikäli et ole varma, että haluat tehdä muutoksia tiedostoon.\n[[$1|thumb]]",
        "filepageexists": "Kuvaussivu <strong>[[:$1]]</strong> on ho olemassa, mutta vastaavaa tiedostoa ei ole olemassa.\nKirjoittamasi yhteenveto ei ilmesty kuvaussivulle,\nellet lisää sitä muokkaamalla sivua manuaalisesti.\n[[$1|thumb]]",
        "fileexists-extension": "Tiedosto, jolla on samankaltainen nimi, on jo olemassa: [[$2|thumb]]\n* Tallennetun tiedoston nimi: <strong>[[:$1]]</strong>\n* Olemassa olevan tiedoston nimi: <strong>[[:$2]]</strong>\nValitse toinen tiedostonimi.",
        "fileexists-thumbnail-yes": "Tiedosto näyttäisi olevan pienennetty kuva ''(pienoiskuva)''. [[$1|thumb]]\nTarkista tiedosto <strong>[[:$1]]</strong>.\nJos yllä oleva tiedosto on alkuperäisversio samasta kuvasta, ei sille tarvitse tallentaa pienoiskuvaa.",
        "uploadvirus": "Tiedosto sisältää viruksen. Tarkemmat tiedot: $1",
        "uploadjava": "Tämä tiedosto on ZIP-tiedosto, joka sisältää Java .class-tiedoston.\nJava-tiedostojen tallentaminen ei ole sallittua, sillä ne saattavat aiheuttaa tietoturvariskejä.",
        "upload-source": "Lähdetiedosto",
-       "sourcefilename": "Lähdenimi",
+       "sourcefilename": "Lähdetiedoston nimi:",
        "sourceurl": "URL-lähde",
-       "destfilename": "Kohdenimi",
+       "destfilename": "Kohdetiedoston nimi:",
        "upload-maxfilesize": "Suurin sallittu tiedostokoko: $1",
        "upload-description": "Tiedoston kuvaus",
        "upload-options": "Tallennusasetukset",
        "delete_and_move_text": "==Poistamista edellyttävä siirto==\nKohdesivu [[:$1]] on jo olemassa. \nHaluatko poistaa sen, jotta nykyinen sivu voitaisiin siirtää?",
        "delete_and_move_confirm": "Kyllä, poista kohdesivu",
        "delete_and_move_reason": "Sivu on sivun [[$1]] siirron tiellä.",
-       "selfmove": "Lähde- ja kohdenimi ovat samat.",
+       "selfmove": "Lähteen ja kohteen nimi on sama.\nSivua ei voi siirtää itsensä päälle.",
        "immobile-source-namespace": "Sivuja ei voi siirtää nimiavaruudessa ”$1”",
        "immobile-target-namespace": "Sivuja ei voi siirtää nimiavaruuteen ”$1”",
        "immobile-target-namespace-iw": "Kielilinkki ei ole kelvollinen kohde sivun siirrolle.",
        "imagenocrossnamespace": "Tiedostoja ei voi siirtää pois tiedostonimiavaruudesta.",
        "nonfile-cannot-move-to-file": "Sivuja ei voi siirtää tiedostonimiavaruuteen.",
        "imagetypemismatch": "Uusi tiedostopääte ei vastaa tiedoston tyyppiä",
-       "imageinvalidfilename": "Kohdenimi on virheellinen",
+       "imageinvalidfilename": "Kohdetiedoston nimi on virheellinen",
        "fix-double-redirects": "Päivitä kaikki vanhalle nimelle viittaavat ohjaukset ohjaamaan uudelle nimelle",
        "move-leave-redirect": "Jätä paikalle ohjaus",
        "protectedpagemovewarning": "'''Varoitus:''' Tämä sivu on lukittu siten, että vain ylläpitäjät voivat siirtää sitä.\nAlla on viimeisin lokitapahtuma:",
index 8d195e5..2e4e1e7 100644 (file)
        "search-interwiki-default": "Résultats de $1 :",
        "search-interwiki-more": "(plus)",
        "search-relatedarticle": "Reliés",
-       "searcheverything-enable": "Rechercher dans tous les espaces de noms",
        "searchrelated": "reliés",
        "searchall": "tout",
        "showingresults": "Affichage de <b>$1</b> résultat{{PLURAL:$1||s}} à partir du n°<b>$2</b>.",
        "powersearch-togglelabel": "Cocher :",
        "powersearch-toggleall": "Tout",
        "powersearch-togglenone": "Aucune",
+       "powersearch-remember": "Se souvenir de la sélection pour les prochaines recherches",
        "search-external": "Recherche externe",
        "searchdisabled": "La recherche sur {{SITENAME}} est désactivée. En attendant la réactivation, vous pouvez effectuer une recherche via Google. Attention, leur indexation du contenu de {{SITENAME}} peut ne pas être à jour.",
        "search-error": "Une erreur s'est produite en recherchant : $1",
        "allowemail": "Autoriser l'envoi de courriels venant d'autres utilisateurs",
        "prefs-searchoptions": "Recherche",
        "prefs-namespaces": "Espaces de noms",
-       "defaultns": "Rechercher par défaut dans ces espaces de noms :",
        "default": "défaut",
        "prefs-files": "Fichiers",
        "prefs-custom-css": "CSS personnalisé",
index 1d41451..e5203bc 100644 (file)
@@ -5,7 +5,8 @@
                        "ChrisPtDe",
                        "Reedy",
                        "לערי ריינהארט",
-                       "아라"
+                       "아라",
+                       "Soul Train"
                ]
        },
        "tog-underline": "Solegnér los lims :",
        "searchmenu-exists": "'''Y at na pâge apelâye « [[:$1]] » sur ceti vouiqui.'''",
        "searchmenu-new": "'''Fâre la pâge « [[:$1|$1]] » sur ceti vouiqui !'''",
        "searchprofile-articles": "Pâges de contegnu",
-       "searchprofile-project": "Pâges d’éde et pâges projèt",
        "searchprofile-images": "Multimèdia",
        "searchprofile-everything": "Tot",
        "searchprofile-advanced": "Rechèrche avanciêe",
        "searchprofile-articles-tooltip": "Rechèrchiér dedens $1",
-       "searchprofile-project-tooltip": "Rechèrchiér dedens $1",
        "searchprofile-images-tooltip": "Rechèrchiér des fichiérs",
        "searchprofile-everything-tooltip": "Rechèrchiér dedens tot lo contegnu (les pâges de discussion avouéc)",
        "searchprofile-advanced-tooltip": "Chouèsir los èspâços de noms por la rechèrche",
        "search-interwiki-default": "Rèsultats dessus $1 :",
        "search-interwiki-more": "(més)",
        "search-relatedarticle": "Aparentâ",
-       "searcheverything-enable": "Rechèrchiér dedens tôs los èspâços de noms",
        "searchrelated": "aparentâ",
        "searchall": "tot",
        "showingresults": "Vua de '''$1''' rèsultat{{PLURAL:$1||s}} dês lo numerô '''$2'''.",
        "allowemail": "Activar l’èxpèdicion de mèssâjos que vegnont d’ôtros utilisators",
        "prefs-searchoptions": "Rechèrche",
        "prefs-namespaces": "Èspâços de noms",
-       "defaultns": "Ôtrament rechèrchiér dedens cetos èspâços de noms :",
        "default": "dèfôt",
        "prefs-files": "Fichiérs",
        "prefs-custom-css": "CSS pèrsonalisâ",
        "prefs-emailconfirm-label": "Confirmacion de l’adrèce èlèctronica :",
        "youremail": "Adrèce èlèctronica :",
        "username": "Nom d’utilisat{{GENDER:$1|or|rice}} :",
-       "uid": "Identifient d’utilisat{{GENDER:$1|or|rice}} :",
        "prefs-memberingroups": "{{GENDER:$2|Membro}} de l{{PLURAL:$1|a tropa|es tropes}} :",
        "prefs-registration": "Dâta d’encartâjo :",
        "yourrealname": "Veré nom :",
        "grouppage-user": "{{ns:project}}:Utilisators",
        "grouppage-autoconfirmed": "{{ns:project}}:Utilisators ôtoconfirmâs",
        "grouppage-bot": "{{ns:project}}:Robots",
-       "grouppage-sysop": "{{ns:project}}:Administrators",
+       "grouppage-sysop": "{{ns:project}}:Администраторар",
        "grouppage-bureaucrat": "{{ns:project}}:Grata-papiérs",
        "grouppage-suppress": "{{ns:project}}:Supèrvisors",
        "right-read": "Liére les pâges",
        "log-title-wildcard": "Chèrchiér entre-mié los titros que començont per cél tèxto",
        "showhideselectedlogentries": "Montrar / cachiér les entrâs de jornal chouèsies",
        "allpages": "Totes les pâges",
-       "alphaindexline": "de $1 a $2",
        "nextpage": "Pâge aprés ($1)",
        "prevpage": "Pâge devant ($1)",
        "allpagesfrom": "Fâre vêre les pâges dês :",
        "tooltip-preferences-save": "Encartar les prèferences",
        "tooltip-summary": "Buchiéd un côrt rèsumâ",
        "common.css": "/* Lo code CSS betâ ique serat aplicâ a tôs los habelyâjos. */",
-       "cologneblue.css": "/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « Blu de Cologne ». */",
        "monobook.css": "/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « MonoBook ». */",
-       "modern.css": "/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « Modèrno ». */",
        "vector.css": "/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « Vèctor ». */",
        "print.css": "/* Lo code CSS betâ ique afècterat les emprèssions. */",
        "noscript.css": "/* Lo code CSS betâ ique afècterat los usanciérs qu’ont dèsactivâ lo code JavaScript. */",
        "group-sysop.css": "/* Lo code CSS betâ ique afècterat ren que los administrators. */",
        "group-bureaucrat.css": "/* Lo code CSS betâ ique afècterat ren que los grata-papiérs. */",
        "common.js": "/* Tot code JavaScript betâ ique serat chargiê per tôs los usanciérs avouéc châque chargement de pâge. */",
-       "cologneblue.js": "/* Tot code JavaScript betâ ique serat chargiê per los usanciérs de l’habelyâjo « Blu de Cologne ». */",
        "monobook.js": "/* Tot code JavaScript betâ ique serat chargiê per los usanciérs de l’habelyâjo « MonoBook ». */",
-       "modern.js": "/* Tot code JavaScript betâ ique serat chargiê per los usanciérs de l’habelyâjo « Modèrno ». */",
        "vector.js": "/* Tot code JavaScript betâ ique serat chargiê per los usanciérs de l’habelyâjo « Vèctor ». */",
        "group-autoconfirmed.js": "/* Tot code JavaScript betâ ique serat chargiê ren que por los usanciérs encartâs. */",
        "group-bot.js": "/* Tot code JavaScript betâ ique serat chargiê ren que por los bots. */",
        "pageinfo-contentpage": "Comptâ coment pâge de contegnu",
        "pageinfo-contentpage-yes": "Ouè",
        "pageinfo-protect-cascading-yes": "Ouè",
-       "skinname-cologneblue": "Blu de Cologne",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Modèrno",
        "skinname-vector": "Vèctor",
        "markaspatrolleddiff": "Marcar coment survelyê",
        "markaspatrolledtext": "Marcar ceta pâge coment survelyê",
index faa032d..f02ddac 100644 (file)
        "search-interwiki-default": "Toraidhean o $1:",
        "search-interwiki-more": "(barrachd)",
        "search-relatedarticle": "Co-cheangailte",
-       "searcheverything-enable": "Seall anns na namespaces air fad",
        "searchrelated": "co-cheangailte",
        "searchall": "a h-uile",
        "showingresults": "A' nochdadh suas gu $1 {{PLURAL:$1|$1 toradh|$1 thoradh|$1 toraidhean|$1 toradh}} gu h-ìosal a' tòiseachadh le #'''$2'''.",
index ebf5c18..f249ab4 100644 (file)
        "search-interwiki-default": "תוצאות מ{{GRAMMAR:תחילית|$1}}:",
        "search-interwiki-more": "(עוד)",
        "search-relatedarticle": "קשור",
-       "searcheverything-enable": "חיפוש בכל מרחבי השם",
        "searchrelated": "קשור",
        "searchall": "הכול",
        "showingresults": "{{PLURAL:$1|מוצגת תוצאה <strong>אחת</strong>|מוצגות עד <strong>$1</strong> תוצאות}} החל ממספר <strong>$2</strong>:",
        "powersearch-togglelabel": "בחירה:",
        "powersearch-toggleall": "הכול",
        "powersearch-togglenone": "אף אחד",
+       "powersearch-remember": "שמירת הבחירה עבור חיפושים עתידיים",
        "search-external": "חיפוש חיצוני",
        "searchdisabled": "חיפוש ב{{grammar:תחילית|{{SITENAME}}}} אינו מופעל כעת.\nבינתיים אפשר לחפש באמצעות גוגל.\nשימו לב שייתכן שהמידע של {{SITENAME}} שם אינו מעודכן.",
        "search-error": "אירעה שגיאה במהלך החיפוש: $1",
        "allowemail": "קבלת דוא\"ל ממשתמשים אחרים",
        "prefs-searchoptions": "חיפוש",
        "prefs-namespaces": "מרחבי שם",
-       "defaultns": "אחרת, החיפוש יתבצע במרחבי השם הבאים:",
        "default": "ברירת מחדל",
        "prefs-files": "קבצים",
        "prefs-custom-css": "קובץ CSS מותאם אישית",
index caa8d29..fda5f14 100644 (file)
@@ -9,7 +9,8 @@
                        "Kaganer",
                        "Malafaya",
                        "Thakurji",
-                       "아라"
+                       "아라",
+                       "Soul Train"
                ]
        },
        "tog-underline": "Jorr ke niche line khicho:",
        "searchmenu-exists": "'''Ii wiki me \"[[$1]]\" naam ke panna hai'''",
        "searchmenu-new": "'''Ii wiki me \"[[:$1]]\" panna ke banao!'''",
        "searchprofile-articles": "Content panna",
-       "searchprofile-project": "Madat aur Project panna",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Sab chij",
        "searchprofile-advanced": "Anbhawi",
        "searchprofile-articles-tooltip": "$1 me khojo",
-       "searchprofile-project-tooltip": "$1 me khojo",
        "searchprofile-images-tooltip": "File ke khojo",
        "searchprofile-everything-tooltip": "Sab content me khojo (baat waala panna bhi)",
        "searchprofile-advanced-tooltip": "Custom namespaces me khojo",
        "search-interwiki-default": "$1 ke result:",
        "search-interwiki-more": "(aur)",
        "search-relatedarticle": "sambandh rakkhe hai",
-       "searcheverything-enable": "Sab namespaces me khojo",
        "searchrelated": "sambhand rakkhe hai",
        "searchall": "sab",
        "showingresults": "Niche dekhae hai {{PLURAL:$1|'''1''' result|'''$1''' results}} #'''$2''' se suruu hoe ke.",
        "allowemail": "Aur sadasya se e-mail enable karo",
        "prefs-searchoptions": "Khojo",
        "prefs-namespaces": "Naam:",
-       "defaultns": "Default se ii namespaces me khojo:",
        "default": "baaki",
        "prefs-files": "File ke naam",
        "prefs-custom-css": "CSS ke aapan khatir badlo",
        "prefs-emailconfirm-label": "E-mail ke confirm karaa jaawe hai:",
        "youremail": "E-mail:",
        "username": "{{GENDER:$1|Sadasya ke naam}}:",
-       "uid": "{{GENDER:$1|Sadasya}} ID:",
        "prefs-memberingroups": "{{PLURAL:$1|group|groups}} ke {{GENDER:$2|Member}}:",
        "prefs-registration": "Registration kare ke time:",
        "yourrealname": "Asli naam:",
        "grouppage-user": "{{ns:project}}:Sadasya",
        "grouppage-autoconfirmed": "{{ns:project}}:Autoconfirmed sadasya",
        "grouppage-bot": "{{ns:project}}:Bots",
-       "grouppage-sysop": "{{ns:project}}:Administrators",
+       "grouppage-sysop": "{{ns:project}}:Администраторар",
        "grouppage-bureaucrat": "{{ns:project}}:Bureaucrats",
        "grouppage-suppress": "{{ns:project}}:Oversight",
        "right-read": "Panna ke parrho",
        "log-title-wildcard": "Ii text se suruu hoe waala titles ke khojo",
        "showhideselectedlogentries": "Dekhao/lukao chuna gais log entries",
        "allpages": "Sab panna",
-       "alphaindexline": "$1 se $2",
        "nextpage": "Aglaa panna ($1)",
        "prevpage": "Pichhla panna ($1)",
        "allpagesfrom": "Panna dekhae ke suruu karo hian se:",
index d0e5a97..e747c41 100644 (file)
        "search-interwiki-default": "$1 rezultati:",
        "search-interwiki-more": "(više)",
        "search-relatedarticle": "Povezano",
-       "searcheverything-enable": "Traži u svim imenskim prostorima",
        "searchrelated": "povezano",
        "searchall": "sve",
        "showingresults": "Dolje {{PLURAL:$1|je prikazan '''$1''' rezultat|su prikazana '''$1''' rezultata|je prikazano '''$1''' rezultata}}, počevši od '''$2'''.",
        "allowemail": "Omogući primanje e-maila od drugih suradnika",
        "prefs-searchoptions": "Način traženja",
        "prefs-namespaces": "Imenski prostori",
-       "defaultns": "Ako nije navedeno drugačije, traži u ovim prostorima:",
        "default": "prvotno",
        "prefs-files": "Datoteke",
        "prefs-custom-css": "Prilagođen CSS",
        "newimages-summary": "Ova posebna stranica pokazuje posljednje nedavno postavljene datoteke.",
        "newimages-legend": "Filtar",
        "newimages-label": "Naziv datoteke (ili njen dio):",
+       "newimages-showbots": "Prikaži datoteke koje su postavili botovi",
        "noimages": "Nema slika.",
        "ilsubmit": "Traži",
        "bydate": "po datumu",
index 562cbdd..ed08d98 100644 (file)
        "pool-timeout": "Tempore limite excedite durante le serratura",
        "pool-queuefull": "Le cauda commun de processos es plen",
        "pool-errorunknown": "Error incognite",
+       "pool-servererror": "Le servicio de banco de ressources commun non es disponibile ($1).",
        "aboutsite": "A proposito de {{SITENAME}}",
        "aboutpage": "Project:A proposito",
        "copyright": "Le contento es disponibile sub $1 si non alteremente specificate.",
        "search-interwiki-default": "Resultatos de $1:",
        "search-interwiki-more": "(plus)",
        "search-relatedarticle": "Connexe",
-       "searcheverything-enable": "Cercar in tote le spatios de nomines",
        "searchrelated": "connexe",
        "searchall": "totes",
        "showingresults": "Infra se monstra non plus de {{PLURAL:$1|'''1''' resultato|'''$1''' resultatos}} a partir del numero '''$2'''.",
        "powersearch-togglelabel": "Seliger:",
        "powersearch-toggleall": "Totes",
        "powersearch-togglenone": "Nihil",
+       "powersearch-remember": "Memorar selection pro recercas futur",
        "search-external": "Recerca externe",
        "searchdisabled": "Le recerca in {{SITENAME}} es disactivate.\nTu pote cercar via Google in le interim.\nNota que lor indices del contento de {{SITENAME}} pote esser obsolete.",
        "search-error": "Un error ha occurrite durante le recerca: $1",
        "allowemail": "Activar reception de e-mail de altere usatores",
        "prefs-searchoptions": "Recerca",
        "prefs-namespaces": "Spatios de nomines",
-       "defaultns": "Alteremente cercar in iste spatios de nomines:",
        "default": "predefinite",
        "prefs-files": "Files",
        "prefs-custom-css": "CSS personalisate",
        "listgrouprights-namespaceprotection-namespace": "Spatio de nomines",
        "listgrouprights-namespaceprotection-restrictedto": "Derecto(s) que permitte al usator de modificar",
        "trackingcategories": "Categorias de sequimento",
+       "trackingcategories-summary": "Iste pagina lista le categorias de sequimento que es automaticamente plenate per le software MediaWiki. Lor nomines pote esser cambiate alterante le correspondente messages de systema in le spatio de nomines \"{{ns:8}}\".",
+       "trackingcategories-msg": "Categoria de sequimento",
+       "trackingcategories-name": "Nomine del message",
+       "trackingcategories-desc": "Criterios pro inclusion in categoria",
+       "noindex-category-desc": "Iste pagina es excludite del indice perque illo contine le marca <code><nowiki>__NOINDEX__</nowiki></code> e es in un spatio de nomines ubi le uso de iste marca es permittite.",
+       "index-category-desc": "Iste pagina contine le marca <code><nowiki>__INDEX__</nowiki></code> (e es in un spatio de nomines ubi le uso de iste marca es permittite), e dunque es includite in le indice mesmo si illo normalmente non lo esserea.",
+       "post-expand-template-inclusion-category-desc": "Le expansion de tote le patronos facerea le dimension del pagina exceder le limite de <code>$wgMaxArticleSize</code>, dunque alcun patronos non ha essite expandite.",
+       "post-expand-template-argument-category-desc": "Post le expansion de un parametro de patrono (qualcosa inter accolladas triple, como <code>{{{Exemplo}}}</code>), le dimension del pagina excede le limite de <code>$wgMaxArticleSize</code>.",
+       "expensive-parserfunction-category-desc": "Troppo de functiones costose de analysator syntactic (como <code>#ifexist</code>) ha essite includite in un pagina. Vide [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
+       "broken-file-category-desc": "Iste categoria es addite si le pagina contine un ligamine de file rupte (un ligamine pro incorporar un file quando le file non existe).",
+       "hidden-category-category-desc": "Iste categoria contine le marca <code><nowiki>__HIDDENCAT__</nowiki></code>, impediente lo de apparer in le quadro de ligamines de categoria in paginas, si non configurate alteremente.",
+       "trackingcategories-nodesc": "Nulle description disponibile.",
+       "trackingcategories-disabled": "Le categoria es disactivate",
        "mailnologin": "Necun adresse de invio",
        "mailnologintext": "Tu debe [[Special:UserLogin|aperir un session]]\ne haber un adresse de e-mail valide in tu [[Special:Preferences|preferentias]]\npro inviar e-mail a altere usatores.",
        "emailuser": "Inviar e-mail a iste usator",
        "watchnologin": "Tu non ha aperite un session",
        "addwatch": "Adder al observatorio",
        "addedwatchtext": "Le pagina \"[[:$1]]\" ha essite addite a tu [[Special:Watchlist|observatorio]].\nLe modificationes futur in iste pagina e in le pagina de discussion associate essera listate in illo.",
+       "addedwatchtext-short": "Le pagina \"$1\" ha essite addite a tu observatorio.",
        "removewatch": "Remover del observatorio",
        "removedwatchtext": "Le pagina \"[[:$1]]\" ha essite removite de [[Special:Watchlist|tu observatorio]].",
+       "removedwatchtext-short": "Le pagina \"$1\" ha essite removite de tu observatorio.",
        "watch": "Observar",
        "watchthispage": "Observar iste pagina",
        "unwatch": "Disobservar",
        "unwatchthispage": "Disobservar",
        "notanarticle": "Non es un articulo",
        "notvisiblerev": "Le version ha essite delite",
-       "watchlist-details": "{{PLURAL:$1|$1 pagina|$1 paginas}} es in tu observatorio, sin contar le paginas de discussion.",
+       "watchlist-details": "{{PLURAL:$1|$1 pagina|$1 paginas}} in tu observatorio. Le paginas de discussion non es contate separatemente.",
        "wlheader-enotif": "Le notification via e-mail es active.",
        "wlheader-showupdated": "Le paginas que ha essite modificate post tu ultime visita se monstra in litteras '''grasse'''.",
        "wlnote2": "Ecce le cambiamentos in le ultime {{PLURAL:$1|hora|<strong>$1</strong> horas}}, a partir del $2 a $3.",
        "contributions-title": "Contributiones del usator $1",
        "mycontris": "Contributiones",
        "contribsub2": "Pro {{GENDER:$3|$1}} ($2)",
+       "contributions-userdoesnotexist": "Le conto de usator \"$1\" non es registrate.",
        "nocontribs": "Necun modification ha essite trovate secundo iste criterios.",
        "uctop": "(ultime)",
        "month": "A partir del mense (e anterior):",
        "movepagetalktext": "Le pagina de discussion associate essera automaticamente renominate conjunctemente con illo '''a minus que''':\n*Un pagina de discussion non vacue ja existe sub le nove nomine, o\n*Tu dismarca le quadrato infra.\n\nIl tal casos, tu debera renominar o fusionar le pagina manualmente si desirate.",
        "movearticle": "Renominar pagina:",
        "moveuserpage-warning": "'''Attention:''' Tu es super le puncto de renominar un pagina de usator. Nota ben que solmente le pagina, e ''non'' le usator, essera renominate.",
+       "movecategorypage-warning": "<strong>Attention:</strong> Tu es sur le puncto de renominar un pagina de categoria. Nota ben que solmente le pagina essera renominate e tote le paginas in le ancian categoria <em>non</em> essera recategorisate in le nove.",
        "movenologintext": "Tu debe esser un usator registrate e [[Special:UserLogin|aperir un session]] pro poter renominar un pagina.",
        "movenotallowed": "Tu non ha le permission de renominar paginas.",
        "movenotallowedfile": "Tu non ha le permission de renominar files.",
        "cant-move-user-page": "Tu non ha le permission de renominar paginas principal de usatores.",
        "cant-move-to-user-page": "Tu non ha le permission de renominar un pagina verso un pagina de usator (excepte un subpagina de usator).",
+       "cant-move-category-page": "Tu non ha le permission de renominar paginas de categoria.",
+       "cant-move-to-category-page": "Tu non ha le permission de renominar un pagina in un pagina de categoria.",
        "newtitle": "Al nove titulo:",
        "move-watch": "Observar le paginas de origine e de destination",
        "movepagebtn": "Renominar pagina",
        "newimages-summary": "Iste pagina special detalia le recente files incargate.",
        "newimages-legend": "Filtro",
        "newimages-label": "Nomine del file (o un parte de illo):",
+       "newimages-showbots": "Monstrar files incargate per robots",
        "noimages": "Nihil a vider.",
        "ilsubmit": "Cercar",
        "bydate": "per data",
        "watchlistedit-raw-done": "Tu observatorio ha essite actualisate.",
        "watchlistedit-raw-added": "{{PLURAL:$1|1 titulo|$1 titulos}} ha essite addite:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1 titulo|$1 titulos}} ha essite removite:",
+       "watchlistedit-clear-title": "Observatorio radite",
+       "watchlistedit-clear-legend": "Rader observatorio",
+       "watchlistedit-clear-explain": "Tote le titulos essera removite de tu observatorio",
+       "watchlistedit-clear-titles": "Titulos:",
+       "watchlistedit-clear-submit": "Rader le observatorio (isto es permanente!)",
+       "watchlistedit-clear-done": "Tu observatorio ha essite radite.",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|1 titulo|$1 titulos}} ha essite removite:",
+       "watchlistedit-too-many": "Il ha troppo de paginas pro monstrar los hic.",
+       "watchlisttools-clear": "Rader le observatorio",
        "watchlisttools-view": "Vider modificationes pertinente",
        "watchlisttools-edit": "Vider e modificar le observatorio",
        "watchlisttools-raw": "Modificar observatorio crude",
        "htmlform-no": "No",
        "htmlform-yes": "Si",
        "htmlform-chosen-placeholder": "Selige un option",
+       "htmlform-cloner-create": "Adder plus",
+       "htmlform-cloner-delete": "Remover",
+       "htmlform-cloner-required": "Al minus un valor es requirite.",
        "sqlite-has-fts": "$1 con supporto de recerca de texto integre",
        "sqlite-no-fts": "$1 sin supporto de recerca de texto integre",
        "logentry-delete-delete": "$1 {{GENDER:$2|deleva}} le pagina $3",
index db936b1..8224a9c 100644 (file)
@@ -33,7 +33,8 @@
                        "William Surya Permana",
                        "לערי ריינהארט",
                        "아라",
-                       "C5st4wr6ch"
+                       "C5st4wr6ch",
+                       "Raynasution"
                ]
        },
        "tog-underline": "Garis bawahi pranala:",
        "search-interwiki-default": "Hasil dari $1:",
        "search-interwiki-more": "(selanjutnya)",
        "search-relatedarticle": "Berkaitan",
-       "searcheverything-enable": "Cari di semua ruang nama",
        "searchrelated": "berkaitan",
        "searchall": "semua",
        "showingresults": "Di bawah ini ditampilkan hingga {{PLURAL:$1|'''1''' hasil|'''$1''' hasil}}, dimulai dari #'''$2'''.",
        "powersearch-togglelabel": "Pilih:",
        "powersearch-toggleall": "Semua",
        "powersearch-togglenone": "Tidak ada",
+       "powersearch-remember": "Ingar pilihan untuk pencarian selanjutnya",
        "search-external": "Pencarian eksternal",
        "searchdisabled": "Pencarian {{SITENAME}} sementara dimatikan.\nAnda dapat mencari melalui Google untuk sementara waktu.\nPerlu diingat bahwa indeks Google untuk konten {{SITENAME}} mungkin belum mencakup perubahan-perubahan terakhir.",
        "search-error": "Kesalahan terjadi saat mencari: $1",
        "allowemail": "Izinkan pengguna lain mengirim surel",
        "prefs-searchoptions": "Cari",
        "prefs-namespaces": "Ruang nama",
-       "defaultns": "Atau cari dalam ruang-ruang nama berikut:",
        "default": "baku",
        "prefs-files": "Berkas",
        "prefs-custom-css": "CSS pribadi",
index 2fc82c4..3700a04 100644 (file)
        "search-interwiki-default": "Dagiti resulta manipud ti $1:",
        "search-interwiki-more": "(adu pay)",
        "search-relatedarticle": "Mainaig",
-       "searcheverything-enable": "Agbirukka kadagiti amin a nagan ti espasio",
        "searchrelated": "mainaig",
        "searchall": "amin",
        "showingresults": "Maiparang dita baba agingga {{PLURAL:$1|iti '''1''' a nagbanagan|dagiti '''$1''' a nagbanagan}} a mangrugi iti #'''$2'''.",
        "allowemail": "Pakabaelam ti esurat a naggapu kadagiti sabali nga agar-aramat",
        "prefs-searchoptions": "Biruken",
        "prefs-namespaces": "Dagiti nagan ti espasio",
-       "defaultns": "Wenno saan agbirukka kadagitoy a nagan ti espasio:",
        "default": "kasisigud",
        "prefs-files": "Dagiti papeles",
        "prefs-custom-css": "Naiduma a CSS",
index fb5739b..4e27914 100644 (file)
        "search-interwiki-default": "Risultati da $1:",
        "search-interwiki-more": "(altro)",
        "search-relatedarticle": "Risultati correlati",
-       "searcheverything-enable": "Cerca in tutti i namespace",
        "searchrelated": "correlati",
        "searchall": "tutti",
        "showingresults": "Di seguito {{PLURAL:$1|viene presentato al massimo '''1''' risultato|vengono presentati al massimo '''$1''' risultati}} a partire dal numero '''$2'''.",
        "allowemail": "Abilita la ricezione di messaggi email da altri utenti",
        "prefs-searchoptions": "Ricerca",
        "prefs-namespaces": "Namespace",
-       "defaultns": "Altrimenti, cerca in questi namespace:",
        "default": "predefinito",
        "prefs-files": "File",
        "prefs-custom-css": "CSS personalizzato",
index e98596e..f1c6917 100644 (file)
        "search-interwiki-default": "$1からの結果:",
        "search-interwiki-more": "(続き)",
        "search-relatedarticle": "関連",
-       "searcheverything-enable": "すべての名前空間を検索",
        "searchrelated": "関連",
        "searchall": "すべて",
        "showingresults": "<strong>$2</strong> 件目以降の最大 {{PLURAL:$1|<strong>$1</strong> 件の結果}}を表示しています。",
        "allowemail": "他の利用者からのメールを受け取る",
        "prefs-searchoptions": "検索",
        "prefs-namespaces": "名前空間",
-       "defaultns": "指定した名前空間のみを検索:",
        "default": "既定",
        "prefs-files": "ファイル",
        "prefs-custom-css": "カスタムCSS",
index bc2c228..bd13cab 100644 (file)
        "allowemail": "Karberunê binun ra ''e-mail''i fael ke",
        "prefs-searchoptions": "Alternatifê cıcêraişi",
        "prefs-namespaces": "Caê namey",
-       "defaultns": "Halo bin de zerrê nê caunê namey de cıfeteliye:",
        "default": "ihmal",
        "prefs-files": "Dosyey",
        "youremail": "E-poste:",
index 878b685..9403278 100644 (file)
        "suspicious-userlogout": "Сіздің жүйеден шығу сұранымыңыз қабылданбады, өйткені бұл бұзылған браузер немесе кэштеуші прокси арқылы жіберілгенге ұқсайды.",
        "pt-login": "Кіру",
        "pt-login-button": "Кіру",
-       "pt-createaccount": "Тіркелгі жасау",
+       "pt-createaccount": "Тіркелу",
        "pt-userlogout": "Шығу",
        "php-mail-error-unknown": "Mail() PHP-функциясындағы белгісіз қате.",
        "user-mail-no-addy": "Е-пошта мекенжайынсыз хабарлама жіберуді байқап көрді.",
        "search-interwiki-default": "$1 нәтиже:",
        "search-interwiki-more": "(көбірек)",
        "search-relatedarticle": "Қатысты",
-       "searcheverything-enable": "Барлық есім кеңістігінен іздеу",
        "searchrelated": "қатысты",
        "searchall": "барлық",
        "showingresults": "Төменде нөмір '''$2''' орнынан бастап барынша '''$1''' нәтиже көрсетіледі.",
        "allowemail": "Басқадан хат қабылдауын қосу",
        "prefs-searchoptions": "Іздеу бапталымдары",
        "prefs-namespaces": "Есім кеңістіктері",
-       "defaultns": "Мына есім кеңістіктерінде басқаша іздеу:",
        "default": "әдепкі",
        "prefs-files": "Файлдар",
        "prefs-custom-css": "CSS өзгертпелі",
        "right-sendemail": "Басқа қатысушыларға е-пошта жіберу",
        "right-passwordreset": "Өзгерген құпия сөз арқылы хабарламаларды шолу",
        "newuserlogpage": "Тіркелу журналы",
-       "newuserlogpagetext": "Бұл қатысушы тіркелгі жасау журналы",
+       "newuserlogpagetext": "Бұл қатысушы тіркелу журналы",
        "rightslog": "Қатысушы құқықтары журналы",
        "rightslogtext": "Бұл қатысушы құқықтарын өзгерту журналы.",
        "action-read": "Осы бетті оқу",
        "specialpages-note": "* Қалпты арнайы беттер.\n* <span class==\"mw-specialpagerestricted\">Шектелген арнайы беттер.</span>",
        "specialpages-group-maintenance": "Техникалық талқылау есептері",
        "specialpages-group-other": "Тағы басқа арнайы беттер",
-       "specialpages-group-login": "Кіру / тіркелгі жасау",
+       "specialpages-group-login": "Кіру / тіркелу",
        "specialpages-group-changes": "Жуықтағы өзгерістер мен журналдар",
        "specialpages-group-media": "Медиа баянаттары және жүктелгендер",
        "specialpages-group-users": "Қатысушылар және олардың құқықтары",
        "logentry-move-move-noredirect": "$1 $3 бетін $4 бетіне {{GENDER:$2|жылжытты}} (айдатқыш қалдырмады)",
        "logentry-move-move_redir": "$1 $3 бетін $4 деген айдатқыш үстіне {{GENDER:$2|жылжытты}}",
        "logentry-move-move_redir-noredirect": "$1 $3 бетін $4 деген айдатқыш үстіне {{GENDER:$2|жылжытты}} (айдатқыш қалдырылмады)",
-       "logentry-newusers-newusers": "$1 жаңадан қатысушы тіркелгісін {{GENDER:$2|жасады}}",
-       "logentry-newusers-create": "$1 жаңадан аккаунт тіркеді",
+       "logentry-newusers-newusers": "$1 жаңадан тіркелді",
+       "logentry-newusers-create": "$1 жаңадан тіркелді",
        "logentry-newusers-create2": "$1 $3 деген аккаунт {{GENDER:$2|тіркеді}}",
        "logentry-newusers-byemail": "$1 $3 деген аккаунт {{GENDER:$2|тіркеді}} және құпия сөзі е-пошта арқылы жіберілді",
        "logentry-newusers-autocreate": "$1 қатысушы аккаунтын автоматты түрде {{GENDER:$2|тіркеді}}",
index a2e70a9..cc392e1 100644 (file)
        "allowemail": "ಬೇರೆ ಸದಸ್ಯರಿಂದ ಈ-ಮೈಲ್‍ಗಳನ್ನು ಸ್ವೀಕರಿಸು",
        "prefs-searchoptions": "ಹುಡುಕು",
        "prefs-namespaces": "ನಾಮವರ್ಗಗಳು",
-       "defaultns": "ಮೂಲಸ್ಥಿತಿಯಲ್ಲಿ ಈ ಪುಟಪ್ರಬೇಧಗಳಲ್ಲಿ ಹುಡುಕಿ:",
        "default": "ಮೂಲಸ್ಥಿತಿ",
        "prefs-files": "ಫೈಲುಗಳು",
        "youremail": "ಇ-ಅಂಚೆ:",
index bda0f5b..94edb43 100644 (file)
        "historyempty": "(비었음)",
        "history-feed-title": "편집 역사",
        "history-feed-description": "이 문서의 편집 역사",
-       "history-feed-item-nocomment": "$2에 대한 $1의 편집",
+       "history-feed-item-nocomment": "$2에 $1님의 편집",
        "history-feed-empty": "요청한 문서가 존재하지 않습니다.\n해당 문서가 삭제되었거나, 문서 이름이 바뀌었을 수 있습니다.\n[[Special:Search|위키의 검색]]을 사용해 관련 문서를 찾아보세요.",
        "rev-deleted-comment": "(편집 요약 삭제됨)",
        "rev-deleted-user": "(사용자 이름 삭제됨)",
        "search-interwiki-default": "$1 로부터의 결과:",
        "search-interwiki-more": "(더 보기)",
        "search-relatedarticle": "관련",
-       "searcheverything-enable": "모든 이름공간에서 검색",
        "searchrelated": "관련",
        "searchall": "모두",
        "showingresults": "'''$2'''번 부터의 {{PLURAL:$1|결과 '''1'''개|결과 '''$1'''개}}입니다.",
        "powersearch-togglelabel": "확인:",
        "powersearch-toggleall": "모두",
        "powersearch-togglenone": "모두 제외",
+       "powersearch-remember": "향후 검색에 선택 기억하기",
        "search-external": "바깥에서 검색",
        "searchdisabled": "{{SITENAME}} 검색이 비활성화되어 있습니다.\n검색이 작동하지 않는 동안에는 Google(구글)을 통해 검색할 수 있습니다.\n검색 엔진의 내용은 최신이 아닐 수 있다는 점을 참고하세요.",
        "search-error": "검색하는 동안 오류가 발생했습니다: $1",
        "allowemail": "다른 사용자가 보낸 이메일을 받음",
        "prefs-searchoptions": "검색",
        "prefs-namespaces": "이름공간",
-       "defaultns": "다음 이름공간에서 검색:",
        "default": "기본값",
        "prefs-files": "파일",
        "prefs-custom-css": "사용자 CSS",
        "watchlistedit-normal-legend": "주시문서 목록에서 문서 제거하기",
        "watchlistedit-normal-explain": "주시문서 목록에 있는 문서의 제목이 아래에 나와 있습니다.\n주시문서 목록에서 제거하려는 문서가 있으면 각 항목의 확인 상자를 선택한 다음 \"{{int:Watchlistedit-normal-submit}}\"를 클릭해주세요.\n또는 [[Special:EditWatchlist/raw|목록을 직접 편집]]할 수도 있습니다.",
        "watchlistedit-normal-submit": "항목 삭제",
-       "watchlistedit-normal-done": "{{PLURAL:$1|제목 1개|제목 $1개}}를 주시문서 목록에서 제거했습니다:",
+       "watchlistedit-normal-done": "{{PLURAL:$1|문서 1개|문서 $1개}}를 주시문서 목록에서 제거했습니다:",
        "watchlistedit-raw-title": "주시문서 목록 직접 편집하기",
        "watchlistedit-raw-legend": "주시문서 목록 직접 편집하기",
        "watchlistedit-raw-explain": "주시문서 목록의 각 항목이 나와 있습니다. 필요한 항목을 직접 추가하거나 제거할 수 있습니다.\n각 줄마다 하나의 제목을 입력하세요.\n수정을 마쳤다면 \"{{int:Watchlistedit-raw-submit}}\"을 누르면 됩니다.\n또는 [[Special:EditWatchlist|일반적인 편집기]]를 쓸 수도 있습니다.",
        "watchlistedit-raw-titles": "목록:",
        "watchlistedit-raw-submit": "주시문서 목록 새로 고침",
        "watchlistedit-raw-done": "주시문서 목록을 새로 고쳤습니다.",
-       "watchlistedit-raw-added": "{{PLURAL:$1|제목 1개|제목 $1개}}를 추가했습니다:",
-       "watchlistedit-raw-removed": "{{PLURAL:$1|제목 1개|제목 $1개}}를 제거했습니다:",
-       "watchlistedit-clear-title": "주시문서 목록이 지워짐",
+       "watchlistedit-raw-added": "{{PLURAL:$1|문서 1개|문서 $1개}}를 추가했습니다:",
+       "watchlistedit-raw-removed": "{{PLURAL:$1|문서 1개|문서 $1개}}를 제거했습니다:",
+       "watchlistedit-clear-title": "주시문서 목록 지우기",
        "watchlistedit-clear-legend": "주시문서 목록 지우기",
-       "watchlistedit-clear-explain": "모든 제목이 주시문서 목록에서 제거됩니다",
+       "watchlistedit-clear-explain": "모든 문서가 주시문서 목록에서 제거됩니다",
        "watchlistedit-clear-titles": "제목:",
        "watchlistedit-clear-submit": "주시목록 문서 지우기 (이는 영구적입니다!)",
        "watchlistedit-clear-done": "주시문서 목록을 지웠습니다.",
-       "watchlistedit-clear-removed": "{{PLURAL:$1|제목 1개|제목 $1개}}를 제거했습니다:",
+       "watchlistedit-clear-removed": "{{PLURAL:$1|문서 1개|문서 $1개}}를 제거했습니다:",
        "watchlistedit-too-many": "여기에 보여질 문서가 너무 많습니다.",
        "watchlisttools-clear": "주시문서 목록 비우기",
        "watchlisttools-view": "주시문서 최근 바뀜",
index eaed4ff..004e606 100644 (file)
        "jumptonavigation": "навигация",
        "jumptosearch": "излеу",
        "view-pool-error": "Кечгинлик, бусагъатда серверле бош тюйюлдюле.\nБу бетге къараргъа излегенле асыры кёбдюле.\nКечирек кириб кёрюгюз.\n\n$1",
+       "generic-pool-error": "Кечгинлик, бусагъатда серверле бош тюйюлдюле.\nБу ресурсха къараргъа излегенле асыры кёбдюле.\nКечирек кириб кёрюгюз.",
        "pool-timeout": "Блокланыуну сакълау заман ётдю",
        "pool-queuefull": "Соруула джыйыучу толуду",
        "pool-errorunknown": "Билинмеген халат",
        "changeemail-submit": "Адресни тюрлендир",
        "changeemail-cancel": "Ызына алыу",
        "resettokens": "Токенлени джибер",
+       "resettokens-legend": "Токенлени джибер",
        "resettokens-tokens": "Токенле:",
        "bold_sample": "Къалын джазыу",
        "bold_tip": "Къалын джазыу",
        "search-interwiki-default": "$1 эсеблери:",
        "search-interwiki-more": "(дагъыда)",
        "search-relatedarticle": "Байламлы",
-       "searcheverything-enable": "Атланы бютеу аламларында изле",
        "searchrelated": "бейламлы",
        "searchall": "бютеу",
        "showingresults": "Тюбюрек №&nbsp;<strong>$2</strong> башлаб <strong>$1</strong> {{PLURAL:$1|1=эсеб|эсебле}} {{PLURAL:$1|1=кёргюзюлгенди|кёргюзюлгендиле}}.",
        "allowemail": "Башха къошулуучуладан электрон почтаны келмеге къой",
        "prefs-searchoptions": "Излеу",
        "prefs-namespaces": "Атла алам",
-       "defaultns": "Башха халда бу атла аламлада изле:",
        "default": "тынгылау бла",
        "prefs-files": "Файлла",
        "prefs-custom-css": "Энчи CSS",
        "statistics-users-active": "Актив къошулуучула",
        "statistics-users-active-desc": "Ахыр {{PLURAL:$1|кюнде|$1 кюнде}} ишлеме этген къошулуучула",
        "statistics-mostpopular": "Эм кёб къаралгъан бетле",
+       "pageswithprop-prop": "Амалны аты:",
        "pageswithprop-submit": "Таб",
        "doubleredirects": "Джибериу болгъан джибериуле",
        "doubleredirectstext": "Бу бетде башхы джибериулеге этилген джибериулени тизмеси барды.\nХар тизгин биринчи неда экинчи джибериуню эмда асламысында бетни аты джазылгъан, биринчи джибериу кёргюзген, экинчи джибериуню нюзюр бети джазылады.\n<del>Юсю сызылгъан</del> джазыула тюзетилген этгендиле.",
        "importlogpage": "Импортну журналы",
        "importlogpagetext": "Башха викиледен бетлени тюрлендириу тарихин администраторланы импорт этиую.",
        "import-logentry-upload": "[[$1]] файл джюклениую бла импорт этилди",
-       "import-logentry-upload-detail": "$1 {{PLURAL:$1|1=версия|версия}}",
+       "import-logentry-upload-detail": "$1 {{PLURAL:$1|версия}}",
        "import-logentry-interwiki": "$1 трансвикиленди",
-       "import-logentry-interwiki-detail": "$2 бетден  $1 {{PLURAL:$1|1=весрия|версия}}",
+       "import-logentry-interwiki-detail": "$2 бетден  $1 {{PLURAL:$1|версия}}",
        "javascripttest": "JavaScript тинтилиую",
        "javascripttest-title": "$1 тинтиле турады",
        "tooltip-pt-userpage": "Къошулуучу бетигиз",
index b9b62ad..689a9ad 100644 (file)
        "createaccount-title": "Çêkirina hesabekî ji {{SITENAME}}",
        "createaccount-text": "Kesek ji te ra account'ekî bikarhêneran \"$2\" li {{SITENAME}} ($4) çêkir. Şîfreya otomatîk ji \"$2\" ra \"$3\" ye.\nNiha ê baş be eger tu xwe qeyd bikê û tu şîfreya xwe biguherînê.\n\nEger account'a bikarhêneran şaşî hate çêkirin, guhdare vê peyamê meke.",
        "loginlanguagelabel": "Ziman: $1",
+       "pt-login": "Têkeve",
+       "pt-login-button": "Têkeve",
+       "pt-createaccount": "Hesabekî çêke",
+       "pt-userlogout": "Derkeve",
        "user-mail-no-addy": "Hewl da e-nameyekê bê navnîşana e-nameyê bişîne",
        "changepassword": "Şîfreyê biguherîne",
        "resetpass_announce": "Te xwe bi şîfreyekê tomar kiriye ku bi riya e-nameyekê ji te re hatiye şandin.\nJi bo xelaskirina tomarkirinê, divê tu niha şîfreyeke nû binivîsî:",
        "searchmenu-exists": "'''Rûpeleke bi navê \"[[:$1]]\" li ser vê wîkiyê heye.'''",
        "searchmenu-new": "Rûpela \"[[:$1]]\" çêke!",
        "searchprofile-articles": "Rûpelên naverokê",
-       "searchprofile-project": "Rûpelên alîkariyê û projeyê",
        "searchprofile-images": "Multîmedya",
        "searchprofile-everything": "Her tişt",
        "searchprofile-advanced": "Pêşketî",
        "searchprofile-articles-tooltip": "Di $1 da lêbigere",
-       "searchprofile-project-tooltip": "Di $1 da lêbigere",
        "searchprofile-images-tooltip": "Li pelan bigere",
        "search-result-size": "$1 ({{PLURAL:$2|peyvek|$2 peyv}})",
        "search-result-score": "Lêhatin: $1%",
        "prefs-emailconfirm-label": "Piştrastkirina E-nameyê:",
        "youremail": "E-nameya te:",
        "username": "{{GENDER:$1|Navê bikarhêner}}:",
-       "uid": "Nasnameya bikarhêner:",
        "prefs-memberingroups": "Endamê/a {{PLURAL:$1|komê|koman}}:",
        "prefs-registration": "Dema xweqeydkirinê:",
        "yourrealname": "Navê te yê rast:",
        "logempty": "Tiştek di vir de nîne.",
        "log-title-wildcard": "Li sernavan bigere, yê bi vê destpêdikin",
        "allpages": "Hemû rûpel",
-       "alphaindexline": "$1 heta $2",
        "nextpage": "Rûpela pêşî ($1)",
        "prevpage": "Rûpelê berî vê ($1)",
        "allpagesfrom": "Rûpela di rêza yekemîn de:",
index b449cbe..3fc909a 100644 (file)
        },
        "tog-underline": "Linken ënnersträichen:",
        "tog-hideminor": "Kleng Ännerungen an de rezenten Ännerunge verstoppen",
-       "tog-hidepatrolled": "Iwwerkuckten Ännerungen an de \"Rezenten Ännerungen\" verstoppen",
-       "tog-newpageshidepatrolled": "Iwwerkuckte Säiten op der Lëscht vun den \"Neie Säite\" verstoppen",
+       "tog-hidepatrolled": "Nogekuckt Ännerungen an de \"Rezenten Ännerungen\" verstoppen",
+       "tog-newpageshidepatrolled": "Nogekuckt Säiten op der Lëscht vun den \"Neie Säite\" verstoppen",
        "tog-extendwatchlist": "Iwwerwaachungslëscht op all Ännerungen ausbreeden, net nëmmen op déi rezentst",
-       "tog-usenewrc": "Rezent Ännerunge an Iwwerwaachungslëscht pro Säit weisen",
+       "tog-usenewrc": "Rezent Ännerungen an Iwwerwaachungslëscht pro Säit weisen",
        "tog-numberheadings": "Iwwerschrëften automatesch numeréieren",
        "tog-showtoolbar": "Ännerungstoolbar weisen",
        "tog-editondblclick": "Säite mat Duebelklick änneren",
        "redirectpagesub": "Viruleedungssäit",
        "lastmodifiedat": "Dës Säit gouf de(n) $1 ëm $2 Auer fir d'lescht geännert.",
        "viewcount": "Dës Säit gouf bis elo {{PLURAL:$1|emol|$1-mol}} ofgefrot.",
-       "protectedpage": "Gespaarte Säit",
+       "protectedpage": "Gespaart Säit",
        "jumpto": "Wiesselen op:",
        "jumptonavigation": "Navigatioun",
        "jumptosearch": "sichen",
        "search-interwiki-default": "Resultater vu(n) $1:",
        "search-interwiki-more": "(méi)",
        "search-relatedarticle": "A Verbindung",
-       "searcheverything-enable": "An allen Nummraim sichen",
        "searchrelated": "a Verbindng",
        "searchall": "all",
        "showingresults": "Hei gesitt der  {{PLURAL:$1| '''1''' Resultat|'''$1''' Resultater}}, ugefaange mat #'''$2'''.",
        "allowemail": "E-Maile vun anere Benotzer kréien.",
        "prefs-searchoptions": "Sichen",
        "prefs-namespaces": "Nummraim",
-       "defaultns": "Soss an dësen Nummraim sichen:",
        "default": "Standard",
        "prefs-files": "Fichieren",
        "prefs-custom-css": "Benotzerdefinéierten CSS",
        "cant-move-user-page": "Dir hutt net déi néideg Rechter fir Benotzerhaaptsäiten ze réckelen.",
        "cant-move-to-user-page": "Dir hutt net d'Recht fir eng Säit op eng Benotzersäit (ausser op eng Ënnersäit vun enger Benotzersäit) ze réckelen.",
        "cant-move-category-page": "Dir hutt net déi néideg Rechter fir Kategorie-Säiten ze réckelen.",
+       "cant-move-to-category-page": "Dir hutt net déi néideg Rechter fir eng Säit op eng Kategoriesäit ze réckelen.",
        "newtitle": "Op den neien Titel:",
        "move-watch": "Dës Säit iwwerwaachen",
        "movepagebtn": "Säit réckelen",
        "newimages-summary": "Dës Spezialsäit weist eng Lëscht mat de Fichieren déi als lescht eropgeluede goufen.",
        "newimages-legend": "Filter",
        "newimages-label": "Numm vum Fichier (oder en Deel dovun):",
+       "newimages-showbots": "Vu Botten eropgeluede Fichiere weisen",
        "noimages": "Keng Biller fonnt.",
        "ilsubmit": "Sichen",
        "bydate": "no Datum",
index 365b76f..a301c5a 100644 (file)
        "searchmenu-exists": "'''И вики-проектда \"[[:$1]]\" тlвар алай ччин ава.'''",
        "searchmenu-new": "'''И вики-проектда «[[:$1]]» ччин туькӀуьрун!'''",
        "searchprofile-articles": "Асул ччинар",
-       "searchprofile-project": "Куьмек гунин ва проектдин ччинар",
        "searchprofile-images": "Мультимедиа",
        "searchprofile-everything": "Вири",
        "searchprofile-advanced": "Гегьеншдиз",
        "searchprofile-articles-tooltip": "$1-да къекъуьгъ",
-       "searchprofile-project-tooltip": "$1-да къекъуьгъ",
        "searchprofile-images-tooltip": "Файлар жугъура",
        "searchprofile-everything-tooltip": "Вири ччинра къекъуьгъ (веревирдрин ччинар кваз)",
        "searchprofile-advanced-tooltip": "Ганвай тlварарин генгвилера къекъуьгъ",
        "group-bureaucrat-member": "{{GENDER:$1|бюрократ}}",
        "grouppage-user": "{{ns:project}}:Иштиракчияр",
        "grouppage-bot": "{{ns:project}}:Бот",
-       "grouppage-sysop": "{{ns:project}}:Ð\9aÑ\8aавÑ\85аÑ\8fр",
+       "grouppage-sysop": "{{ns:project}}:Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80ар",
        "right-read": "Ччинар кIелун",
        "right-edit": "Дегишар хъувун",
        "right-move": "Ччинрин тIварар эхцигун",
index c6244cd..0445515 100644 (file)
        "search-interwiki-default": "Rezültàcc de $1:",
        "search-interwiki-more": "(püssee)",
        "search-relatedarticle": "Rezültàcc corelàcc",
-       "searcheverything-enable": "Sérca en töcc i namespaces",
        "searchrelated": "Corelàcc",
        "searchall": "tücc",
        "powersearch-legend": "Recerca avanzada",
        "allowemail": "Permètt ai altar üteent də cuntatamm par email",
        "prefs-searchoptions": "Ricerca",
        "prefs-namespaces": "Namespaces",
-       "defaultns": "Sedenò, serca en chèsti namespaces:",
        "default": "predefinit",
        "prefs-files": "Archivi",
        "prefs-custom-css": "CSS personalizàt",
index 3afd592..d7d7ee8 100644 (file)
        "permalink": "چسب ون هميشئی",
        "print": "چاپ كردن",
        "view": "ديئن",
+       "view-foreign": "د $1 نه بوینیت",
        "edit": "ويرايشت",
        "create": "راس كردن",
        "editthispage": "ويرايشت ای بلگه",
        "noemail": "هیچ نشونی ایمیلی سی کارور $1 ضفط نبیه.",
        "noemailcreate": "شما باید یه نشونی نومه معتور فراهم بکید",
        "mailerror": "خطا داره کل موئه:$1",
-       "emailauthenticated": "نشونی ایمیلتو د $2 سی 3$ مئکم بیه.",
+       "emailauthenticated": "نشونی انجومانامه تونه د $2 سی 3$ مئکم بیه.",
        "emailconfirmlink": "نشونی ايملتو نه محكم بكيد",
        "cannotchangeemail": "نشونی ایمیل حساو نتونه د ای ویکی آلشت بوئه.",
        "emaildisabled": "ای مالگه نتونه ایمیل بفرسنه",
        "search-interwiki-default": "$1 نتیجه یا:",
        "search-interwiki-more": "(بیشتر)",
        "search-relatedarticle": "مرتوط",
-       "searcheverything-enable": "همه نوم جايا نوم ديار بگرد",
        "searchrelated": "مرتوط",
        "searchall": "همه",
        "showingresultsheader": "{{PLURAL:$5|نتيجه '''$1''' د'''$3'''|نتيجه يا '''$1 - $2''' د'''$3'''}} سيli'''$4'''",
        "prefs-resetpass": "پاسورد نه آلشت بكيت",
        "prefs-changeemail": "نشونی ایمیل تو نه آلشت بکید",
        "prefs-setemail": "يه گل ايميل بنیت",
+       "prefs-email": "چیا هنی انجومانامه",
        "prefs-rendering": "شلک و ری",
        "saveprefs": "ذخيره كردن",
        "prefs-editing": "د حالت ويرايشت",
        "blocklogentry": " [[$1]] وا یه گل وخت تموم بیئن $2 و $3  قلف بیه",
        "block-log-flags-nocreate": "حساو راس کردن عاجز بیه.",
        "block-log-flags-nousertalk": "نبوئه بلگه چک چنه خوتونه ویرایشت بکید",
+       "lockdb": "قلف کردن رسینه گا",
+       "unlockconfirm": "هره، مه واقعند میهام که رسینه گا وا بوئه.",
+       "unlockbtn": "رسینه گا قلف نبیه",
+       "lockdbsuccesssub": "رسینه گا د خوئی قلف بیه",
        "move-page": "$1 جا وه جا کو",
        "movenotallowed": "شما وه جا وه جا کردن بلگه دسرسی ناریت",
        "movenotallowedfile": "شما وه جا وه جا کردن جانیایا دسرسی ناریت",
index bea4e6f..a86a3c9 100644 (file)
        "search-interwiki-default": "Valiny amin'ny $1 :",
        "search-interwiki-more": "(be kokoa)",
        "search-relatedarticle": "voadinika",
-       "searcheverything-enable": "Hitady anatin'ny anaran-tsehatra rehetra:",
        "searchrelated": "voadinika",
        "searchall": "rehetra",
        "showingresults": "Omeo ny valiny{{PLURAL:$1||}} miisa hatramin'ny <b>$1</b> manomboka ny #<b>$2</b>.",
        "allowemail": "Hanaiky ny fandefasana mailaka avy amin'ny mpikambana hafa",
        "prefs-searchoptions": "Karoka",
        "prefs-namespaces": "Toeran'anarana",
-       "defaultns": "Fikarohana tsipalotra anatin'ireo anaran-tsehatra ireo :",
        "default": "tsipalotra",
        "prefs-files": "Rakitra",
        "prefs-custom-css": "CSS manokana",
index df1ce4f..1ce7021 100644 (file)
        "usercsspreview": "'''Ingeklah bahawa Sanak sadang manampilan pratayang dari CSS Sanak.\nPratayang iko alun disimpan!'''",
        "userjspreview": "'''Ingeklah bahawa nan Sanak liek hanyolah pratayang JavaScript Sanak, dan bahawa pratayang tasabuik alun disimpan!'''",
        "sitecsspreview": "'''Ingeklah bahawa Sanak hanyo manampilan pratayang dari CSS iko.'''\n'''Parubahan alun disimpan!'''",
-       "sitejspreview": "'''Ingeklah bahawa Sanak hanyo manampilan pratayang dari Kode JavaScript iko.'''\n'''Parubahan alun disimpan!'''",
+       "sitejspreview": "<strong>Ingek! Sanak hanyo manampilan pratonton kode JavaScript ko. Parubahan alun basimpan!</strong>",
        "userinvalidcssjstitle": "'''Paringatan:''' Kulik \"$1\" indak ditamuan. Harap diingek bahawa laman .css dan .js manggunokan huruf kecil, contoh {{ns:user}}:Foo/vector.css dan bukannyo {{ns:user}}:Foo/Vector.css.",
        "updated": "(Dipabaharui)",
        "note": "'''Catatan:'''",
        "searchmenu-exists": "'''Ado laman nan banamo \"[[:$1]]\" pado wiki ko.'''",
        "searchmenu-new": "'''Buek laman \"[[:$1]]\" di wiki ko!'''",
        "searchprofile-articles": "Laman isi",
-       "searchprofile-project": "Laman Bantuan jo Proyek",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Sadonyo",
        "searchprofile-advanced": "Labiah lanjuik",
        "searchprofile-articles-tooltip": "Cari di $1",
-       "searchprofile-project-tooltip": "Cari di $1",
        "searchprofile-images-tooltip": "Cari untuak berkas",
        "searchprofile-everything-tooltip": "Cari kasadonyo (tamasuak laman rundiang)",
        "searchprofile-advanced-tooltip": "Pacarian di ruang namo tatantu",
        "search-interwiki-default": "Hasil $1:",
        "search-interwiki-more": "(salanjuiknyo)",
        "search-relatedarticle": "Bakaitan",
-       "searcheverything-enable": "Cari kasado ruangnamo",
        "searchrelated": "bakaitan",
        "searchall": "sado",
        "showingresults": "Di bawah ko dikaluaan sampai {{PLURAL:$1|'''$1''' hasil}}, dimulai dari #'''$2'''.",
        "allowemail": "Izinkan pangguno lain mangirim surel",
        "prefs-searchoptions": "Cari",
        "prefs-namespaces": "Ruangnamo",
-       "defaultns": "Ataupun cari dalam ruangnamo ko:",
        "default": "baku",
        "prefs-files": "Berkas",
        "prefs-custom-css": "CSS paribadi",
        "prefs-emailconfirm-label": "Surel konfirmasi:",
        "youremail": "Surel:",
        "username": "{{GENDER:$1|Namo pangguno}}:",
-       "uid": "ID {{GENDER:$1|pangguno}}:",
        "prefs-memberingroups": "{{GENDER:$2|Anggota}} {{PLURAL:$1|kalompok}}:",
        "prefs-registration": "Wakatu pandaftaran:",
        "yourrealname": "Namo asli:",
        "log-title-wildcard": "Cari judul nan diawali jo teks ko",
        "showhideselectedlogentries": "Tunjuakan/Suruakan entri log tapiliah",
        "allpages": "Kasado laman",
-       "alphaindexline": "$1 sampai $2",
        "nextpage": "Laman salanjuiknyo ($1)",
        "prevpage": "Laman sabalunnyo ($1)",
        "allpagesfrom": "Tunjuakan laman mulai dari:",
        "blockip": "Sakek pangguno",
        "blockip-legend": "Sakek pangguno",
        "blockiptext": "Gunoan formulir di bawah ko untuak manyakek akses dari sabuah alamaik IP atau pangguno.\nIko hanyo buliah dilakuan untuak mancagah vandal, dan sajalan jo [[{{MediaWiki:Policy-url}}|kabijakan]].\nMasuakan alasan sakek di bawah (contoh, mambuek karusakan atau vandal).",
-       "ipadressorusername": "Alamaik IP atau namo pangguno:",
+       "ipaddressorusername": "Alamaik IP atau namo pangguno:",
        "ipbexpiry": "Sampai:",
        "ipbreason": "Alasan:",
        "ipbreason-dropdown": "*Alasan umum sakek\n** Marusak (vandal)\n** Mangagiah informasi palsu\n** Mangilangkan isi laman\n** Spam pautan ka situs lua\n** Mambuek ota gadang di laman\n** Babuek intimidasi/palecehan\n** Manyalahgunoan babarapo akun\n** Namo pangguno talarang\n** Bot alun ado bot flag",
        "pageinfo-category-pages": "Jumlah laman",
        "pageinfo-category-subcats": "Jumlah subkategori",
        "pageinfo-category-files": "Jumlah berkas",
-       "skinname-cologneblue": "Biru Köln",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Moderen",
        "skinname-vector": "Vektor",
        "markaspatrolleddiff": "Tandoi lah dipatroli",
        "markaspatrolledtext": "Tandoi laman ko lah dipatroli",
        "newimages-summary": "Laman istimewa barikuik manunjuakan daftar berkas nan tarakhia dimuek",
        "newimages-legend": "Panyariang",
        "newimages-label": "Namo berkas (atau sabagian darinyo):",
-       "showhidebots": "($1 bot)",
        "noimages": "Indak ado nan dicaliak.",
        "ilsubmit": "Cari",
        "bydate": "jo tanggal",
index 9bb0619..93bfb7b 100644 (file)
        "searchmenu-exists": "'''На ова вики има страница со наслов „[[:$1]]“'''",
        "searchmenu-new": "<strong>Создајте ја страницата „[[:$1]]“ на ова вики!</strong> {{PLURAL:$2|0=|Погледајте ја и страницата најдена со пребарувањето.|Погледајте ги и најдените резултати од пребарувањето.}}",
        "searchprofile-articles": "Статии",
-       "searchprofile-project": "Помош и проектни страници",
        "searchprofile-images": "Податотеки",
        "searchprofile-everything": "Сè",
        "searchprofile-advanced": "Напредно",
        "searchprofile-articles-tooltip": "Пребарување во $1",
-       "searchprofile-project-tooltip": "Пребарување во $1",
        "searchprofile-images-tooltip": "Пребарување на податотеки",
        "searchprofile-everything-tooltip": "Пребарување по сета содржина (вклучувајќи страници за разговор)",
        "searchprofile-advanced-tooltip": "Пребарување во именски простори по избор",
        "search-interwiki-default": "Најдено на $1:",
        "search-interwiki-more": "(уште)",
        "search-relatedarticle": "Поврзано",
-       "searcheverything-enable": "Барај во сите именски простори",
        "searchrelated": "поврзано",
        "searchall": "сè",
        "showingresults": "Подолу {{PLURAL:$1|е прикажан '''1''' резултат|се прикажани '''$1''' резултати}} почнувајќи од бр. '''$2'''.",
        "powersearch-togglelabel": "Одбери:",
        "powersearch-toggleall": "Сè",
        "powersearch-togglenone": "Ништо",
+       "powersearch-remember": "Запамти го изборот за идни пребарувања",
        "search-external": "Надворешно пребарување",
        "searchdisabled": "{{SITENAME}} пребарувањето е оневозможено.\nВо меѓувреме, можете да пребарувате преку Google.\nДа напоменеме дека нивното индексирање на {{SITENAME}} содржините може да биде застарено.",
        "search-error": "Се појави грешка при пребарувањето: $1",
        "allowemail": "Дозволи е-пошта од други корисници",
        "prefs-searchoptions": "Пребарување",
        "prefs-namespaces": "Именски простори",
-       "defaultns": "Инаку пребарувај во овие именски простори:",
        "default": "по основно",
        "prefs-files": "Податотеки",
        "prefs-custom-css": "Посебно CSS",
        "tooltip-summary": "Внесете краток опис",
        "interlanguage-link-title": "$1 — $2",
        "common.css": "/* Тука поставениот CSS ќе се применува врз сите рува */",
-       "cologneblue.css": "/* Тука поставениот CSS ќе се применува врз корисниците што го избрале рувото „Келнско сино“ */",
        "monobook.css": "/* Тука поставениот CSS ќе се применува врз корисниците на рувото „Монобук“ */",
-       "modern.css": "/* Тука поставениот CSS се однесува на корисниците на рувото „Современо“ */",
        "vector.css": "/* Тука поставениот CSS се однесува на корисниците на рувото „Векторско“ */",
        "print.css": "/* Тука поставениот CSS ќе се применува во верзијата за печатење */",
        "noscript.css": "/* Тука поставениот CSS се однесува на корисниците што имаат оневозможено JavaScript */",
        "group-sysop.css": "/* Тука поставениот CSS ќе се применува само врз системските оператори */",
        "group-bureaucrat.css": "/* Тука поставениот CSS ќе се применува само врз бирократите */",
        "common.js": "/* Тука поставениот JavaScript ќе им се вчитува на сите корисници при отворањето на секоја страница. */",
-       "cologneblue.js": "/* Тука поставениот JavaScript  ќе им се вчитува на корисниците што го користат рувото „Келнско сино“ */",
        "monobook.js": "/* Тука поставениот JavaScript  ќе им се вчитува на корисниците што го користат рувото „Монобук“ */",
-       "modern.js": "/* Било која Јава скрипта поставена овде ќе биде вчитана за сите корисници што го користат рувото Современо */",
        "vector.js": "/* Тука поставениот JavaScript  ќе им се вчитува на корисниците што го користат рувото „Векторско“ */",
        "group-autoconfirmed.js": "/* Тука поставениот JavaScript  ќе им се вчитува само на автопотврдените корисници */",
        "group-user.js": "/* Тука поставениот JavaScript  ќе им се вчитува само на регистрираните корисници */",
        "pageinfo-category-pages": "Број на страници",
        "pageinfo-category-subcats": "Број на поткатегории",
        "pageinfo-category-files": "Број на податотеки",
-       "skinname-cologneblue": "Келнско сино",
        "skinname-monobook": "Монобук",
-       "skinname-modern": "Современо",
        "skinname-vector": "Векторско",
        "markaspatrolleddiff": "Означи како проверена верзија",
        "markaspatrolledtext": "Означи ја верзијата како проверена",
index 9c59c20..b5921f7 100644 (file)
        "search-interwiki-default": "$1 വിക്കിയിൽ നിന്നുള്ള ഫലങ്ങൾ:",
        "search-interwiki-more": "(കൂടുതൽ)",
        "search-relatedarticle": "ബന്ധപ്പെട്ടവ",
-       "searcheverything-enable": "എല്ലാ നാമമേഖലകളും തിരയുക",
        "searchrelated": "ബന്ധപ്പെട്ടവ",
        "searchall": "എല്ലാം",
        "showingresults": "'''$2''' മുതലുള്ള {{PLURAL:$1|'''ഒരു''' ഫലം|'''$1''' ഫലങ്ങൾ}} താഴെ പ്രദർശിപ്പിക്കുന്നു.",
        "allowemail": "എനിക്ക് എഴുത്തയക്കാൻ മറ്റുള്ളവരെ അനുവദിക്കുക",
        "prefs-searchoptions": "തിരച്ചിൽ",
        "prefs-namespaces": "നാമമേഖലകൾ",
-       "defaultns": "അല്ലെങ്കിൽ ഈ നാമമേഖലകളിൽ തിരയുക:",
        "default": "സ്വതേ",
        "prefs-files": "പ്രമാണങ്ങൾ",
        "prefs-custom-css": "സ്വന്തം സി.എസ്.എസ്.",
index a184e82..c034a61 100644 (file)
        "searchmenu-exists": "'''Энэ викид \"[[:$1]]\" гэсэн хуудас байна'''",
        "searchmenu-new": "<strong> Энэ викид \"[[:$1]]\" хуудсыг үүсгэх!</strong> {{PLURAL:$2|0=|Мөн хайлтаар олдсон хуудсаа харна.|Мөн хайлтаар олдсон хуудсаа харна.}}",
        "searchprofile-articles": "Агуулгын хуудсууд",
-       "searchprofile-project": "Тусламжийн болон төслийн хуудсууд",
        "searchprofile-images": "Мультмедиа",
        "searchprofile-everything": "Бүгдийг",
        "searchprofile-advanced": "Шилж хайх",
        "searchprofile-articles-tooltip": "$1 дотор хайх",
-       "searchprofile-project-tooltip": "$1 дотор хайх",
        "searchprofile-images-tooltip": "Файлуудаас хайх",
        "searchprofile-everything-tooltip": "Бүх агуулгаас хайх (үүнд ярианы хуудсуудыг оролцуулах)",
        "searchprofile-advanced-tooltip": "Сонгосон нэрний зайнуудаас хайх",
        "search-interwiki-default": "$1 үр дүн:",
        "search-interwiki-more": "(илүү их)",
        "search-relatedarticle": "Холбоотой",
-       "searcheverything-enable": "Бүх нэрний зайнуудад хайх",
        "searchrelated": "холбоотой",
        "searchall": "бүгдийг",
        "showingresults": "Доор #'''$2'''-с эхлэсэн '''$1''' илэрцийг үзүүлж байна.",
        "allowemail": "Бусад хэрэглэгчдээс ирэх мэйлийг зөвшөөрөх",
        "prefs-searchoptions": "Хайлт",
        "prefs-namespaces": "Нэрний зайнууд",
-       "defaultns": "Үгүй бол эдгээр нэрний зайнуудад хайх:",
        "default": "анхны байдал",
        "prefs-files": "Файлууд",
        "prefs-custom-css": "Өөрийн сонгосон CSS",
        "prefs-emailconfirm-label": "Мэйлийн баталгаажуулалт:",
        "youremail": "Мэйл хаяг:",
        "username": "{{GENDER:$1|Хэрэглэгчийн нэр}}:",
-       "uid": "{{GENDER:$1|Хэрэглэгчийн}} ID:",
        "prefs-memberingroups": "{{PLURAL:$1|грүпийн|грүпийн}} {{GENDER:$2|гишүүн}} :",
        "prefs-registration": "Бүртгүүлсэн цаг:",
        "yourrealname": "Жинхэнэ нэр:",
        "recentchanges-label-newpage": "Шинэ хуудас үүссэн байна",
        "recentchanges-label-minor": "Бага зэргийн засвар",
        "recentchanges-label-bot": "Робот гүйцэтгэсэн засвар",
-       "recentchanges-label-unpatrolled": "ЭнÑ\8d Ð·Ð°Ñ\81ваÑ\80Ñ\8bг Ð¾Ð´Ð¾Ð¾Ð³Ð¸Ð¹Ð½ Ð±Ð°Ð¹Ð´Ð»Ð°Ð°Ñ\80 Ð¼Ð°Ð½Ð°Ð°Ð³Ò¯Ð¹ Ð±Ð°Ð¹Ð½Ð°",
+       "recentchanges-label-unpatrolled": "ЭнÑ\8d Ð·Ð°Ñ\81ваÑ\80Ñ\8bг Ð¼Ð°Ð½Ð°Ð¶ Ð°Ð¼Ð¶Ð°Ð°Ð³Ò¯Ð¹",
        "recentchanges-label-plusminus": "Өөрчлөгдсөн байт хэмжээ",
        "recentchanges-legend-heading": "'''Таних үсэг:'''",
        "recentchanges-legend-newpage": "([[Special:NewPages|жагсааж харах]])",
        "log-title-wildcard": "Энэ текстээр эхлэсэн гарчигуудыг хайх",
        "showhideselectedlogentries": "Сонгосон логуудыг харагдуулах/нуух",
        "allpages": "Бүх хуудас",
-       "alphaindexline": "$1-с $2 хүртэл",
        "nextpage": "Дараагийн хуудас ($1)",
        "prevpage": "Өмнөх хуудас ($1)",
        "allpagesfrom": "Хамгийн эхэлж харуулах хуудас:",
index 328e7c2..5d91e28 100644 (file)
        "search-interwiki-default": "Riżultati ta' $1:",
        "search-interwiki-more": "(aktar)",
        "search-relatedarticle": "Relatati",
-       "searcheverything-enable": "Fittex fl-ispazji tal-isem kollha",
        "searchrelated": "relatati",
        "searchall": "kollha",
        "showingresults": "Hawn taħt ġie inkluż massimu ta' {{PLURAL:$1|riżultat '''1''' li jibda|'''$1''' riżultat li jibdew}} bin-numru '''$2'''.",
        "allowemail": "Ħalli li jaslulek ittri-e mingħand utenti oħrajn",
        "prefs-searchoptions": "Fittex",
        "prefs-namespaces": "Namespace",
-       "defaultns": "Fil-każ kuntrarju, fittex f'dawn l-ispazji tal-isem:",
        "default": "predefinit",
        "prefs-files": "Fajls",
        "prefs-custom-css": "CSS personalizzat",
index 9d0feae..f3908ec 100644 (file)
        "nextn-title": "{{PLURAL:$1|Risultato successivo|$1 risultate successive}}",
        "shown-title": "Fa vere {{PLURAL:$1|'nu risultato|$1 risultate}} ppe paggena",
        "viewprevnext": "Vere($1 {{int:pipe-separator}} $2) ($3).",
-       "searchmenu-new": "'''Cria a paggena \"[[:$1]]\" ncopp'â chisto wiki!'''",
+       "searchmenu-new": "<strong>'''Cria a paggena \"[[:$1]]\" ncopp'â chisto wiki!'''</strong> {{PLURAL:$2|0=|Vede anche 'a paggena truovata cu 'a recerca tuja|Vede anche 'e risultate d\"a recerca}}",
        "searchprofile-articles": "Paggene 'e contenute",
-       "searchprofile-project": "Paggene 'e ajùto e relative 'o prugietto",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tutto",
        "searchprofile-advanced": "Avanzate",
        "searchprofile-articles-tooltip": "Circa dint'ô $1",
-       "searchprofile-project-tooltip": "Circa dint'ô $1",
        "searchprofile-images-tooltip": "Circa file",
        "searchprofile-advanced-tooltip": "Circa dint'e namespace perzonalizzate",
        "search-result-size": "$1 ({{PLURAL:$2|'na parola|$2 parole}})",
        "booksources-go": "Vàje",
        "log": "Logs",
        "allpages": "Tutte 'e ppaggene",
-       "alphaindexline": "da $1 a $2",
        "allarticles": "Tutt' 'e vvoce",
        "allinnamespace": "Tutt' 'e ppaggene d''o namespace $1",
        "allpagessubmit": "Vàje",
        "whatlinkshere-hideimages": "$1 links ddo file",
        "whatlinkshere-filters": "Filtre",
        "blockip": "Ferma utelizzatóre",
-       "ipadressorusername": "Nnerizzo IP o nomme utente",
+       "ipaddressorusername": "Nnerizzo IP o nomme utente",
        "ipboptions": "2 ore:2 hours,1 juorno:1 day,3 juorne:3 days,1 semmana:1 week,2 semmane:2 weeks,1 mise:1 month,3 mese:3 months,6 mese:6 months,1 anno:1 year,infinito:infinite",
        "blockipsuccesssub": "Blocco aseguito",
        "ipblocklist": "Utenti bloccate",
index e49fb90..ba7438c 100644 (file)
        "search-interwiki-default": "Resultater fra $1:",
        "search-interwiki-more": "(mer)",
        "search-relatedarticle": "Relatert",
-       "searcheverything-enable": "Søk i alle navnerom",
        "searchrelated": "relatert",
        "searchall": "alle",
        "showingresults": "Nedenfor vises opptil {{PLURAL:$1|'''ett''' resultat|'''$1''' resultater}} fra og med nummer <b>$2</b>.",
        "allowemail": "Tillat andre å sende meg e-post",
        "prefs-searchoptions": "Søk",
        "prefs-namespaces": "Navnerom",
-       "defaultns": "Søk ellers i disse navnerommene:",
        "default": "standard",
        "prefs-files": "Filer",
        "prefs-custom-css": "Personlig CSS",
        "delete-edit-reasonlist": "Rediger begrunnelser for sletting",
        "delete-toobig": "Denne siden har en stor redigeringshistorikk, med over {{PLURAL:$1|$1&nbsp;revisjon|$1&nbsp;revisjoner}}. Muligheten til å slette slike sider er begrenset for å unngå utilsiktet forstyrring av {{SITENAME}}.",
        "delete-warning-toobig": "Denne siden har en stor redigeringshistorikk, med over {{PLURAL:$1|$1&nbsp;revisjon|$1&nbsp;revisjoner}}. Sletting av denne siden kan forstyrre databasen til {{SITENAME}}; vær varsom.",
-       "deleting-backlinks-warning": "'''Advarsel:''' [[Special:WhatLinksHere/{{FULLPAGENAME}|Andre sider]] lenker til eller inkluderer siden du er i ferd med å slette.",
+       "deleting-backlinks-warning": "'''Advarsel:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Andre sider]] lenker til eller inkluderer siden du er i ferd med å slette.",
        "rollback": "Fjern redigeringer",
        "rollback_short": "Tilbakestill",
        "rollbacklink": "tilbakestill",
index ecf4aba..c3a89be 100644 (file)
        "search-interwiki-default": "$1देखिका नतिजाहरू:",
        "search-interwiki-more": "(अझै)",
        "search-relatedarticle": "सम्बन्धित",
-       "searcheverything-enable": "सबै नेमस्पेसेजहरुमा खोज्नुहोस्",
        "searchrelated": "सम्बन्धित",
        "searchall": "सबै",
        "showingresults": "देखाउँदै  {{PLURAL:$1|'''१''' नतिजा|'''$1''' नतिजाहरू }} , #'''$2''' बाट सुरुहुने ।",
        "allowemail": "अरु प्रयोगकर्ताहरुबाट प्राप्त हुने ईमेल enable गर्नुहोस् ।",
        "prefs-searchoptions": "खोज्ने",
        "prefs-namespaces": "नेमस्पेसेज",
-       "defaultns": "अन्यथा यी नेमस्पेसेजमा खोज्ने :",
        "default": "पूर्वनिर्धारित",
        "prefs-files": "फाइलहरु",
        "prefs-custom-css": "अनुकुलित CSS",
index 2620837..85d11d5 100644 (file)
        "vector-view-history": "Geschiedenis weergeven",
        "vector-view-view": "Lezen",
        "vector-view-viewsource": "Brontekst bekijken",
-       "actions": "Handelingen",
+       "actions": "Acties",
        "namespaces": "Naamruimten",
        "variants": "Varianten",
        "navigation-heading": "Navigatiemenu",
        "search-interwiki-default": "Resultaten van $1:",
        "search-interwiki-more": "(meer)",
        "search-relatedarticle": "Gerelateerd",
-       "searcheverything-enable": "In alle naamruimten zoeken",
        "searchrelated": "gerelateerd",
        "searchall": "alle",
        "showingresults": "Hieronder {{PLURAL:$1|staat '''1''' resultaat|staan '''$1''' resultaten}} vanaf #'''$2'''.",
        "allowemail": "E-mail van andere gebruikers toestaan",
        "prefs-searchoptions": "Zoeken",
        "prefs-namespaces": "Naamruimten",
-       "defaultns": "Anders in de volgende naamruimten zoeken:",
        "default": "standaard",
        "prefs-files": "Bestanden",
        "prefs-custom-css": "aangepaste CSS",
        "watchlistedit-raw-done": "Uw volglijst is bijgewerkt.",
        "watchlistedit-raw-added": "Er {{PLURAL:$1|is 1 pagina|zijn $1 pagina's}} toegevoegd:",
        "watchlistedit-raw-removed": "Er {{PLURAL:$1|is 1 pagina|zijn $1 pagina's}} verwijderd:",
-       "watchlistedit-clear-title": "Volglijst wissen",
+       "watchlistedit-clear-title": "Volglijst gewist",
        "watchlistedit-clear-legend": "Volglijst wissen",
        "watchlistedit-clear-explain": "Alle titels zullen van uw volglijst worden verwijderd",
        "watchlistedit-clear-titles": "Titels:",
index 73132c3..61dc924 100644 (file)
        "searchmenu-exists": "* Sida '''[[$1]]'''",
        "searchmenu-new": "'''Opprett sida «[[:$1|$1]]» på denne wikien.'''",
        "searchprofile-articles": "Innhaldssider",
-       "searchprofile-project": "Hjelp- og prosjektsider",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Alt",
        "searchprofile-advanced": "Avansert",
        "searchprofile-articles-tooltip": "Søk i $1",
-       "searchprofile-project-tooltip": "Søk i $1",
        "searchprofile-images-tooltip": "Søk etter filer",
        "searchprofile-everything-tooltip": "Søk i alt innhald (inkludert diskusjonssider)",
        "searchprofile-advanced-tooltip": "Søk i visse namnerom",
        "search-interwiki-default": "$1-resultat:",
        "search-interwiki-more": "(meir)",
        "search-relatedarticle": "Relatert",
-       "searcheverything-enable": "Søk i alle namneroma",
        "searchrelated": "relatert",
        "searchall": "alle",
        "showingresults": "Nedanfor er opp til {{PLURAL:$1|'''eitt'''|'''$1'''}} resultat som byrjar med nummer '''$2''' vist{{PLURAL:$1||e}}.",
        "allowemail": "Tillat e-post frå andre brukarar",
        "prefs-searchoptions": "Søk",
        "prefs-namespaces": "Namnerom",
-       "defaultns": "Søk elles i desse namneromma:",
        "default": "standard",
        "prefs-files": "Filer",
        "prefs-custom-css": "Eigendefinert CSS",
        "prefs-emailconfirm-label": "Stadfesting av e-post:",
        "youremail": "E-post:",
        "username": "{{GENDER:$1|Brukarnamn}}:",
-       "uid": "{{GENDER:$1|Brukar-ID}}:",
        "prefs-memberingroups": "{{GENDER:$2|Medlem}} av {{PLURAL:$1|gruppa|gruppene}}:",
        "prefs-registration": "Registreringstid:",
        "yourrealname": "Verkeleg namn:",
        "log-title-wildcard": "Søk i titlar som byrjar med denne teksten",
        "showhideselectedlogentries": "Vis/gøym valde loggoppføringar",
        "allpages": "Alle sider",
-       "alphaindexline": "$1 til $2",
        "nextpage": "Neste side ($1)",
        "prevpage": "Førre sida ($1)",
        "allpagesfrom": "Vis sider frå:",
        "tooltip-preferences-save": "Lagra innstillingar",
        "tooltip-summary": "Skriv inn eit kort samandrag",
        "common.css": "/* CSS plassert i denne fila vil gjelde for alle utsjånader. */",
-       "cologneblue.css": "/* CSS i denne fila vil gjelde alle som nyttar drakta Kølnerblå */",
        "monobook.css": "/* CSS-tekst som vert plassert her, endrar utsjånaden til sidedrakta Monobook */",
-       "modern.css": "/* CSS i denne fila vil gjelde alle som nyttar drakta Modern */",
        "print.css": "/* CSS i denne fila vil påverke utskriftsversjonen */",
        "common.js": "/* Javascript i denne fila vil gjelde for alle drakter. */",
-       "cologneblue.js": "/* Javascript i denne fila vil gjelde for brukarar av drakta Kølnerblå */",
        "monobook.js": "/* Javascript i denne fila vil gjelde for brukarar av drakta Monobook */",
-       "modern.js": "* Javascript i denne fila vil gjelde for brukarar av drakta Modern */",
        "anonymous": "{{PLURAL:$1|anonym brukar|anonyme brukarar}} av {{SITENAME}}",
        "siteuser": "{{SITENAME}}-brukaren $1",
        "anonuser": "{{SITENAME}} anonym brukar $1",
        "pageinfo-category-pages": "Tal sider",
        "pageinfo-category-subcats": "Tal underkategoriar",
        "pageinfo-category-files": "Tal filer",
-       "skinname-cologneblue": "Kölnerblå",
        "skinname-monobook": "MonoBook",
-       "skinname-modern": "Moderne",
        "markaspatrolleddiff": "Merk som patruljert",
        "markaspatrolledtext": "Merk innhaldssida som patruljert",
        "markedaspatrolled": "Merk som patruljert",
        "exif-artist": "Skapar",
        "exif-copyright": "Opphavsrettsleg eigar",
        "exif-exifversion": "Exif-versjon",
-       "exif-flashpixversion": "Støtta Flashpix versjon",
+       "exif-flashpixversion": "Støtta Flashpix-versjon",
        "exif-colorspace": "Fargerom",
        "exif-componentsconfiguration": "Komponentanalyse",
        "exif-compressedbitsperpixel": "Komprimerte bits pr. pixel",
index 15f95f9..9ef753f 100644 (file)
        "search-interwiki-default": "$1 ରୁ ଫଳାଫଳ:",
        "search-interwiki-more": "(ଅଧିକ)",
        "search-relatedarticle": "ଯୋଡ଼ା",
-       "searcheverything-enable": "ସବୁଗୁଡ଼ିକ ନେମସ୍ପେସରେ ଖୋଜିବେ",
        "searchrelated": "ଯୋଡ଼ା",
        "searchall": "ସବୁ",
        "showingresults": "ତଳେ {{PLURAL:$1|'''ଗୋଟିଏ'''  ଫଳାଫଳ|'''$1'''ଟି ଫଳାଫଳ}} ଦେଖାଉଛୁ ଯାହା #'''$2'''ରେ ଆରମ୍ଭ ହୋଇଅଛି ।",
        "allowemail": "ବାକି ସଭ୍ୟମାନଙ୍କ ଠାରୁ ଆସିଥିବା ଇ-ମେଲ ସଚଳ କରାଇବେ",
        "prefs-searchoptions": "ଖୋଜିବେ",
        "prefs-namespaces": "ନେମସ୍ପେସ",
-       "defaultns": "ନଚେତ ଏହି ନେମସ୍ପେସ ଗୁଡ଼ିକରେ ଖୋଜନ୍ତୁ:",
        "default": "ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ",
        "prefs-files": "ଫାଇଲ",
        "prefs-custom-css": "ମନମୁତାବକ CSS",
index 9593b2b..73bcab5 100644 (file)
        "search-interwiki-default": "Resultados de $1:",
        "search-interwiki-more": "(mais)",
        "search-relatedarticle": "Relacionado",
-       "searcheverything-enable": "Procurar em todos os espaços nominais",
        "searchrelated": "relacionados",
        "searchall": "todos",
        "showingresults": "A seguir {{PLURAL:$1|é mostrado '''um''' resultado|são mostrados até '''$1''' resultados}}, iniciando no '''$2'''º.",
        "allowemail": "Permitir que outros usuários me enviem e-mails",
        "prefs-searchoptions": "Busca",
        "prefs-namespaces": "Espaços nominais",
-       "defaultns": "Caso contrário pesquisar nestes espaços nominais:",
        "default": "padrão",
        "prefs-files": "Arquivos",
        "prefs-custom-css": "CSS personalizada",
index 663a782..1c5f4bf 100644 (file)
        "vector-view-view": "Ler",
        "vector-view-viewsource": "Ver fonte",
        "actions": "Acções",
-       "namespaces": "Espaços nominais",
+       "namespaces": "Domínios",
        "variants": "Variantes",
        "navigation-heading": "Menu de navegação",
        "errorpagetitle": "Erro",
        "userlogin-helplink2": "Ajuda na autenticação",
        "userlogin-loggedin": "Já está {{GENDER:$1|autenticado|autenticada|autenticado}} com o nome $1.\nUse o formulário abaixo para iniciar uma sessão com outro nome.",
        "userlogin-createanother": "Criar outra conta",
-       "createacct-emailrequired": "Endereço de email",
-       "createacct-emailoptional": "Endereço de email (opcional)",
-       "createacct-email-ph": "Digite o seu endereço de correio electrónico",
-       "createacct-another-email-ph": "Digite o endereço de correio electrónico",
+       "createacct-emailrequired": "Endereço de correio eletrónico",
+       "createacct-emailoptional": "Endereço de correio eletrónico (opcional)",
+       "createacct-email-ph": "Digite o seu endereço de correio eletrónico",
+       "createacct-another-email-ph": "Digite o endereço de correio eletrónico",
        "createaccountmail": "Usar uma palavra passe aleatória e temporária e enviar para o endereço de correio eletrónico especificado",
        "createacct-realname": "Nome verdadeiro (opcional)",
        "createaccountreason": "Motivo:",
-       "createacct-reason": "Razão",
+       "createacct-reason": "Motivo",
        "createacct-reason-ph": "Porque está a criar outra conta",
-       "createacct-captcha": "Verificar segurança",
+       "createacct-captcha": "Verificação de segurança",
        "createacct-imgcaptcha-ph": "Digite o texto que vê acima",
        "createacct-submit": "Crie a sua conta",
        "createacct-another-submit": "Criar uma outra conta",
        "nocookieslogin": "A {{SITENAME}} utiliza ''cookies'' para autenticar os utilizadores.\nOs ''cookies'' estão desativados no seu browser.\nAtive-os e tente novamente, por favor.",
        "nocookiesfornew": "A conta de utilizador não foi criada, porque não foi possível confirmar a sua origem.\nCertifique-se de que tem os cookies ativados, recarregue esta página e tente novamente.",
        "noname": "Não especificou um nome de utilizador válido.",
-       "loginsuccesstitle": "Login bem sucedido",
+       "loginsuccesstitle": "Autenticação bem sucedida",
        "loginsuccess": "'''Encontra-se agora ligado à {{SITENAME}} como \"$1\"'''.",
        "nosuchuser": "Não existe nenhum utilizador com o nome \"$1\".\nOs nomes de utilizador são sensíveis à capitalização.\nVerifique a ortografia, ou [[Special:UserLogin/signup|crie uma nova conta]].",
        "nosuchusershort": "Não existe um utilizador com o nome \"$1\". Verifique o nome que introduziu.",
        "loginlanguagelabel": "Língua: $1",
        "suspicious-userlogout": "O seu pedido para sair foi negado porque parece ter sido enviado por um browser danificado ou por um proxy com cache.",
        "createacct-another-realname-tip": "O fornecimento do nome verdadeiro é opcional.\nSe optar por revelá-lo, ele será utilizado para atribuir-lhe crédito pelo seu trabalho.",
-       "pt-login": "Autenticação",
+       "pt-login": "Iniciar sessão",
        "pt-login-button": "Iniciar sessão",
        "pt-createaccount": "Criar uma conta",
        "pt-userlogout": "Sair",
        "searchprofile-articles-tooltip": "Pesquisar em $1",
        "searchprofile-images-tooltip": "Pesquisar ficheiros",
        "searchprofile-everything-tooltip": "Pesquisar em todo o conteúdo (incluindo páginas de discussão)",
-       "searchprofile-advanced-tooltip": "Personalizar os espaços nominais onde pesquisar",
+       "searchprofile-advanced-tooltip": "Personalizar os domínios onde pesquisar",
        "search-result-size": "$1 ({{PLURAL:$2|1 palavra|$2 palavras}})",
        "search-result-category-size": "{{PLURAL:$1|1 membro|$1 membros}} ({{PLURAL:$2|1 subcategoria|$2 subcategorias}}, {{PLURAL:$3|1 ficheiro|$3 ficheiros}})",
        "search-result-score": "Relevancia: $1%",
        "search-interwiki-default": "Resultados de $1:",
        "search-interwiki-more": "(mais)",
        "search-relatedarticle": "Relacionado",
-       "searcheverything-enable": "Pesquisar em todos os espaços nominais",
        "searchrelated": "relacionados",
        "searchall": "todos",
        "showingresults": "{{PLURAL:$1|É apresentado '''um''' resultado|São apresentados até '''$1''' resultados}} abaixo{{PLURAL:$1||, começando pelo '''$2'''º}}.",
        "showingresultsheader": "{{PLURAL:$5|Resultado '''$1''' de '''$3'''|Resultados '''$1–$2''' de '''$3'''}} para '''$4'''",
        "search-nonefound": "A pesquisa não produziu resultados.",
        "powersearch-legend": "Pesquisa avançada",
-       "powersearch-ns": "Pesquisar nos espaços nominais:",
+       "powersearch-ns": "Pesquisar nos domínios:",
        "powersearch-togglelabel": "Marcar:",
        "powersearch-toggleall": "Todos",
        "powersearch-togglenone": "Nenhum",
+       "powersearch-remember": "Lembrar seleção para pesquisas futuras",
        "search-external": "Pesquisa externa",
        "searchdisabled": "Foi impossibilitada a realização de pesquisas na {{SITENAME}}.\nEntretanto, pode realizar pesquisas através do Google.\nNote, no entanto, que a indexação da {{SITENAME}} neste motor de busca pode estar desatualizada.",
-       "search-error": "Um erro ocorreu enquanto se efectuava a busca: $1",
+       "search-error": "Um erro ocorreu enquanto se efectuava a pesquisa: $1",
        "preferences": "Preferências",
        "mypreferences": "Preferências",
        "prefs-edits": "Número de edições:",
        "timezoneregion-pacific": "Oceano Pacífico",
        "allowemail": "Aceitar correio eletrónico de outros utilizadores",
        "prefs-searchoptions": "Pesquisa",
-       "prefs-namespaces": "Espaços nominais",
-       "defaultns": "Por omissão, pesquisar nestes espaços nominais:",
+       "prefs-namespaces": "Domínios",
        "default": "padrão",
        "prefs-files": "Ficheiros",
        "prefs-custom-css": "CSS personalizada",
        "uploadnologin": "Não autenticado",
        "uploadnologintext": "Tem de $1 para enviar ficheiros.",
        "upload_directory_missing": "O diretório de carregamento de ficheiros ($1) não existe e o servidor de internet não conseguiu criá-lo.",
-       "upload_directory_read_only": "O servidor de internet não possui permissão de escrita no diretório de carregamento de ficheiros ($1).",
+       "upload_directory_read_only": "O servidor de Internet não possui permissão de escrita no diretório de carregamento de ficheiros ($1).",
        "uploaderror": "Erro ao carregar",
        "upload-recreate-warning": "'''Aviso: Um ficheiro com esse nome foi eliminado ou movido.'''\n\nPara sua conveniência, é apresentado de seguida o registo de eliminação e de movimento da página:",
-       "uploadtext": "Utilize o formulário abaixo para fazer o carregamento de novos ficheiros.\nPara ver ou pesquisar ficheiros anteriormente enviados, consulte a [[Special:FileList|lista de ficheiros]].\nOs reenvios de um ficheiro são também registados no [[Special:Log/upload|registo de carregamentos]] e as eliminações no [[Special:Log/delete|registo de eliminações]].\n\nPara utilizar um ficheiro numa página, depois de ter feito o upload, insira uma ligação com um dos seguintes formatos:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:ficheiro.jpg]]</nowiki></code>''' para mostrar uma imagem nas suas dimensões originais;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:ficheiro.png|200px|thumb|left|texto]]</nowiki></code>''' para mostrar uma imagem com a dimensão horizontal de 200 pixels, dentro de uma caixa, na margem esquerda, contendo 'texto' como descrição (pode usar subconjuntos destas características);\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:ficheiro.ogg]]</nowiki></code>''' para apresentar uma ligação direta para o ficheiro em vez de mostrá-lo, quer este tenha por conteúdo uma imagem ou outros dados.",
+       "uploadtext": "Utilize o formulário abaixo para fazer o carregamento de novos ficheiros.\nPara ver ou pesquisar ficheiros anteriormente enviados, consulte a [[Special:FileList|lista de ficheiros]].\nOs reenvios de um ficheiro são também registados no [[Special:Log/upload|registo de carregamentos]] e as eliminações no [[Special:Log/delete|registo de eliminações]].\n\nPara utilizar um ficheiro numa página, depois de ter feito o carregamento, insira uma ligação com um dos seguintes formatos:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:ficheiro.jpg]]</nowiki></code>''' para mostrar uma imagem nas suas dimensões originais;\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:ficheiro.png|200px|thumb|left|texto]]</nowiki></code>''' para mostrar uma imagem com a dimensão horizontal de 200 pixels, dentro de uma caixa, na margem esquerda, contendo 'texto' como descrição (pode usar subconjuntos destas características);\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:ficheiro.ogg]]</nowiki></code>''' para apresentar uma ligação direta para o ficheiro em vez de mostrá-lo, quer este tenha por conteúdo uma imagem ou outros dados.",
        "upload-permitted": "Tipos de ficheiro permitidos: $1.",
        "upload-preferred": "Tipos de ficheiro preferidos: $1.",
        "upload-prohibited": "Tipos de ficheiro proibidos: $1.",
        "savefile": "Gravar ficheiro",
        "uploadedimage": "carregou \"[[$1]]\"",
        "overwroteimage": "enviou uma nova versão de \"[[$1]]\"",
-       "uploaddisabled": "Carregamentos impossibilitados",
-       "copyuploaddisabled": "Upload por URL impossibilitado.",
+       "uploaddisabled": "Carregamentos desativados",
+       "copyuploaddisabled": "Carregamento por URL desativado.",
        "uploaddisabledtext": "O carregamento de ficheiros está impossibilitado.",
-       "php-uploaddisabledtext": "O carregamento de ficheiros está impossibilitado no PHP.\nVerifique a configuração file_uploads, por favor.",
+       "php-uploaddisabledtext": "O carregamento de ficheiros está desativado no PHP.\nVerifique a configuração file_uploads, por favor.",
        "uploadscripted": "Este ficheiro contém HTML ou código que pode ser erradamente interpretado por um browser.",
        "uploadscriptednamespace": "Este ficheiro SVG contém um espaço nominal que não é permitido '$1'",
        "uploadinvalidxml": "Erro detectado na análise do XML do ficheiro carregado.",
        "uploadvirus": "O ficheiro contém um vírus! Detalhes: $1",
-       "uploadjava": "Este é um ficheiro ZIP que contém um ficheiro .class de Java.\nNão é permitido o upload de ficheiros Java, porque estes podem contornar as restrições de segurança.",
+       "uploadjava": "Este é um ficheiro ZIP que contém um ficheiro .class de Java.\nNão é permitido o carregamento de ficheiros Java, porque estes podem contornar as restrições de segurança.",
        "upload-source": "Ficheiro de origem",
        "sourcefilename": "Nome do ficheiro de origem:",
        "sourceurl": "URL fonte:",
        "filename-bad-prefix": "O nome do ficheiro que está a enviar começa por '''\"$1\"''', um nome pouco explicativo, normalmente originado de forma automática por câmaras digitais. Escolha um nome de ficheiro mais explicativo, por favor.",
        "filename-prefix-blacklist": " #<!-- deixe esta linha exactamente como está --> <pre>\n# A sintaxe é a seguinte:\n#   * Tudo a partir do carácter \"#\" até ao fim da linha é um comentário\n#   * Todas as linhas não vazias são um prefixo para nomes de ficheiros típicos atribuídos automaticamente por câmaras digitais\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # alguns telefones móveis\nIMG # genérico\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- deixe esta linha exactamente como está -->",
        "upload-success-subj": "Envio efetuado com sucesso",
-       "upload-success-msg": "O seu upload de [$2] foi bem sucedido. Está disponível aqui: [[:{{ns:file}}:$1]]",
-       "upload-failure-subj": "Problema no upload",
-       "upload-failure-msg": "Ocorreu um problema com o seu upload de [$2]:\n\n$1",
-       "upload-warning-subj": "Aviso de upload",
-       "upload-warning-msg": "Ocorreu um problema no seu upload de [$2]. Pode voltar ao [[Special:Upload/stash/$1|formulário de upload]] para resolver o problema.",
+       "upload-success-msg": "O seu carregamento de [$2] foi bem sucedido. Está disponível aqui: [[:{{ns:file}}:$1]]",
+       "upload-failure-subj": "Problema no carregamento",
+       "upload-failure-msg": "Ocorreu um problema com o seu carregamento de [$2]:\n\n$1",
+       "upload-warning-subj": "Aviso de carregamento",
+       "upload-warning-msg": "Ocorreu um problema no seu carregamento de [$2]. Pode voltar ao [[Special:Upload/stash/$1|formulário de carregamento]] para resolver o problema.",
        "upload-proto-error": "Protocolo incorreto",
        "upload-proto-error-text": "O carregamento remoto de ficheiros requer endereços URL começados por <code>http://</code> ou <code>ftp://</code>.",
        "upload-file-error": "Erro interno",
        "unusedtemplatestext": "Esta página lista todas as páginas no espaço nominal {{ns:template}} que não são incluídas em nenhuma outra página. Lembre-se de verificar a existência de outras ligações para as predefinições, antes de eliminá-las.",
        "unusedtemplateswlh": "outras ligações",
        "randompage": "Página aleatória",
-       "randompage-nopages": "Não há páginas {{PLURAL:$2|no seguinte espaço nominal|nos seguintes espaços nominais}}: $1.",
+       "randompage-nopages": "Não há páginas {{PLURAL:$2|no seguinte domínio|nos seguintes domínios}}: $1.",
        "randomincategory": "Página aleatória na categoria",
        "randomincategory-invalidcategory": "\"$1\" não é um nome de categoria válido",
        "randomincategory-nopages": "Não há páginas na categoria [[:Category:$1|$1]].",
        "deletedcontributions-title": "Edições eliminadas",
        "sp-deletedcontributions-contribs": "contribuições",
        "linksearch": "Pesquisa de ligações externas",
-       "linksearch-pat": "Padrão de busca:",
+       "linksearch-pat": "Padrão de pesquisa:",
        "linksearch-ns": "Espaço nominal:",
        "linksearch-ok": "Prosseguir",
        "linksearch-text": "É possível usar caracteres de substituição ''(wildcards)'', tais como \"*.wikipedia.org\".\nÉ necessário, pelo menos, um domínio de topo, por exemplo \"*.org\".<br />\n{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: <code>$1</code> (será utilizado http:// se não for especificado um protocolo).",
        "import-rootpage-nosubpage": "O domínio \"$1\" da página de raiz não permite subpáginas.",
        "importlogpage": "Registo de importações",
        "importlogpagetext": "Importações administrativas de páginas com a preservação do histórico de edição de outras wikis.",
-       "import-logentry-upload": "importou [[$1]] por upload de ficheiro",
+       "import-logentry-upload": "importou [[$1]] por carregamento de ficheiro",
        "import-logentry-upload-detail": "{{PLURAL:$1|uma edição|$1 edições}}",
        "import-logentry-interwiki": "transwikis $1",
        "import-logentry-interwiki-detail": "{{PLURAL:$1|$1 edição|$1 edições}} de $2",
        "tooltip-feed-atom": "''Feed'' Atom desta página",
        "tooltip-t-contributions": "Ver as contribuições deste utilizador",
        "tooltip-t-emailuser": "Enviar uma mensagem de correio a este utilizador",
-       "tooltip-t-upload": "Upload de ficheiros",
+       "tooltip-t-upload": "Carregar ficheiros",
        "tooltip-t-specialpages": "Lista de páginas especiais",
        "tooltip-t-print": "Versão para impressão desta página",
        "tooltip-t-permalink": "Ligação permanente para esta versão desta página",
        "searchsuggest-containing": "contendo...",
        "api-error-badaccess-groups": "Não tem permissão para enviar ficheiros para esta wiki.",
        "api-error-badtoken": "Erro interno: Chave incorrecta.",
-       "api-error-copyuploaddisabled": "O recebimento de ficheiros por URL não foi possibilitado neste servidor.",
+       "api-error-copyuploaddisabled": "O carregamento de ficheiros por URL não foi possibilitado neste servidor.",
        "api-error-duplicate": "Já {{PLURAL:$1|existe [$2 outro ficheiro]|existem [$2 outros ficheiros]}} na wiki com o mesmo conteúdo.",
        "api-error-duplicate-archive": "Já {{PLURAL:$1|existia no site [$2 outro ficheiro]|existiam no site [$2 alguns outros ficheiros]}} com o mesmo conteúdo, mas {{PLURAL:$1|foi|foram}} eliminados.",
        "api-error-duplicate-archive-popup-title": "{{PLURAL:$1|Ficheiro duplicado que já foi eliminado|Ficheiros duplicados que já foram eliminados}}",
        "api-error-mustbeloggedin": "Tem de estar autenticado para enviar ficheiros.",
        "api-error-mustbeposted": "Erro interno: O pedido necessita do HTTP POST.",
        "api-error-noimageinfo": "O envio correu bem, mas o servidor não forneceu nenhuma informação sobre o ficheiro.",
-       "api-error-nomodule": "Erro interno: Não está definido nenhum módulo para upload de ficheiros.",
+       "api-error-nomodule": "Erro interno: Não está definido nenhum módulo para o carregamento de ficheiros.",
        "api-error-ok-but-empty": "Erro interno: o servidor não respondeu.",
        "api-error-overwrite": "Não é permitido sobrescrever um ficheiro existente.",
        "api-error-stashfailed": "Erro interno: O servidor não conseguiu armazenar o ficheiro temporário.",
        "api-error-publishfailed": "Erro interno: Servidor não conseguiu publicar ficheiro temporário.",
-       "api-error-stasherror": "Ocorreu um erro no upload do ficheiro escondido.",
+       "api-error-stasherror": "Ocorreu um erro no carregamento do ficheiro escondido.",
        "api-error-timeout": "O servidor não respondeu no prazo esperado.",
        "api-error-unclassified": "Ocorreu um erro desconhecido",
        "api-error-unknown-code": "Erro desconhecido: \"$1\"",
index e8173ea..8776480 100644 (file)
        "currentrev": "Used in Diff Preview page. The diff is between {{msg-mw|currentrev}} and {{msg-mw|yourtext}}.\n{{Identical|Current revision}}",
        "currentrev-asof": "Used on a difference page when comparing the current versions of a page with each other.\n\nSee {{msg-mw|Revisionasof}} for the message for non-current version.\n\nParameters:\n* $1 - a date and time\n* $2 - (Optional) a date\n* $3 - (Optional) a time",
        "revisionasof": "Used on a difference page when comparing different versions of a page or when viewing an non-current version of a page.\n\nSee {{msg-mw|Currentrev-asof}} for the message for the current version.\n\nParameters:\n* $1 - the date/time at which the revision was created. e.g. \"''Revision as of 14:44, 24 January 2008''\".\n* $2 - (Optional) the date at which the revision was created\n* $3 - (Optional) the time at which the revision was created",
-       "revision-info": "Appears just below the page title when an old version of the page is being viewed.\n\nParameters:\n* $1 - date and time of revision\n* $2 - a series of links: to author of the revision, his talk page, etc.\n* $3 - (Optional) revision ID\n* $4 - (Optional) date of revision\n* $5 - (Optional) time of revision\n* $6 - (Optional) author of revision, for GENDER use",
-       "revision-info-current": "{{notranslate}}\n* $1: date and time of revision\n* $2: a series of links: to author of the revision, his talk page, etc. \n* (optional) $3: revision ID\n* (optional) $4: date of revision\n* (optional) $5: time of revision\n* (optional) $6: author of revision, for GENDER use",
+       "revision-info": "Appears just below the page title when an old version of the page is being viewed.\n\nParameters:\n* $1 - date and time of revision\n* $2 - a series of links: to author of the revision, his talk page, etc.\n* $3 - (Optional) revision ID\n* $4 - (Optional) date of revision\n* $5 - (Optional) time of revision\n* $6 - (Optional) author of revision, for GENDER use\n* $7 - edit summary of revision (with leading space and in parentheses)",
+       "revision-info-current": "{{notranslate}}\n* $1: date and time of revision\n* $2: a series of links: to author of the revision, his talk page, etc. \n* (optional) $3: revision ID\n* (optional) $4: date of revision\n* (optional) $5: time of revision\n* (optional) $6: author of revision, for GENDER use\n* $7 - edit summary of revision (with leading space and in parentheses)",
        "revision-nav": "{{notranslate}}\nRefers to {{msg-mw|Pipe-separator}}.\n\nParameters:\n* $1 - prev diff. link text is {{msg-mw|Diff}}\n* $2 - prev link. link text is {{msg-mw|Previousrevision}}\n* $3 - link. link text is {{msg-mw|Currentrevisionlink}}\n* $4 - cur diff. link text is {{msg-mw|Diff}}\n* $5 - next link. link text is {{msg-mw|Nextrevision}}\n* $6 - next diff. link text is {{msg-mw|Diff}}",
        "previousrevision": "See also:\n* {{msg-mw|Nextrevision}}",
        "nextrevision": "See also:\n* {{msg-mw|Previousrevision}}",
        "search-interwiki-custom": "#REDIRECT [[MediaWiki:Wmf-search-interwiki-custom/qqq]]",
        "search-interwiki-more": "{{Identical|More}}",
        "search-relatedarticle": "This is a search result (and I guess search engine) dependent messages. I do not know how to trigger the feature. The message is displayed if the search result contains information that related pages can also be provided from the search engine. I assume this is \"More Like This\" functionality. Microsoft glossary defines MLT as \"A way to refine search by identifying the right set of documents and then locating similar documents. This allows the searcher to control the direction of the search and focus on the most fruitful lines of inquiry.\"[http://www.microsoft.com/enterprisesearch/en/us/search-glossary.aspx]\n{{Identical|Related}}",
-       "searcheverything-enable": "Used in [[Special:Preferences]], tab \"Search\".",
        "searchrelated": "This is a search result (and I guess search engine) dependent messages. I do not know how to trigger the feature. The message is displayed if the search result contains information that related pages can also be provided from the search engine. I assume this is \"More Like This\" functionality. Microsoft glossary defines MLT as \"A way to refine search by identifying the right set of documents and then locating similar documents. This allows the searcher to control the direction of the search and focus on the most fruitful lines of inquiry.\"[http://www.microsoft.com/enterprisesearch/en/us/search-glossary.aspx]\n{{Identical|Related}}",
        "searchall": "{{Identical|All}}",
        "showingresults": "This message is used on some special pages such as [[Special:WantedCategories]]. Parameters:\n* $1 - the total number of results in the batch shown\n* $2 - the number of the first item listed\nSee also:\n* {{msg-mw|Showingresultsnum}}",
        "powersearch-togglelabel": "Used in [{{canonicalurl:Special:Search|advanced=1}} Advanced search]. Synonym: \"Select\" as verb.\n{{Identical|Check}}",
        "powersearch-toggleall": "\"All\" refers to namespaces. It is used in Advanced search: {{canonicalurl:Special:Search|advanced=1}}\n{{Identical|All}}",
        "powersearch-togglenone": "\"None\" refers to namespaces. It is used in Advanced search: {{canonicalurl:Special:Search|advanced=1}}\n{{Identical|None}}",
+       "powersearch-remember": "Label for a checkbox to save namespace choice for advanced search to user preferences.",
        "search-external": "Legend of the fieldset for the input form when the internal search is disabled. Inside the fieldset [[MediaWiki:Searchdisabled]] and [[MediaWiki:Googlesearch]] is shown.",
        "searchdisabled": "{{doc-singularthey}}\nIn this sentence, \"their indexes\" refers to \"Google's indexes\".\n\nShown on [[Special:Search]] when the internal search is disabled.",
        "googlesearch": "{{notranslate}}\nShown when [[mw:Manual:$wgDisableTextSearch|$wgDisableTextSearch]] is set to true and no [[mw:Manual:$wgSearchForwardUrl|$wgSearchForwardUrl]] is set.\n\nParameters:\n* $1 - the search term\n* $2 - \"UTF-8\" (hard-coded)\n* $3 - the message {{msg-mw|Searchbutton}}",
        "allowemail": "Used in [[Special:Preferences]] > {{int:prefs-personal}} > {{int:email}}.",
        "prefs-searchoptions": "{{Identical|Search}}",
        "prefs-namespaces": "Shown as legend of the second fieldset of the tab 'Search' in [[Special:Preferences]]\n{{Identical|Namespaces}}",
-       "defaultns": "Used in [[Special:Preferences]], tab \"Search\".",
        "default": "{{Identical|Default}}",
        "prefs-files": "Title of a tab in [[Special:Preferences]].\n{{Identical|File}}",
        "prefs-custom-css": "visible on [[Special:Preferences]] -[Skins].\n{{Identical|Custom CSS}}",
        "filename": "{{Identical|Filename}}",
        "filedesc": "Used as section header in [[Special:Upload]].\n\nSee also:\n* {{msg-mw|License-header}}\n* {{msg-mw|Filestatus}}\n* {{msg-mw|Filesource}}\n{{Identical|Summary}}",
        "fileuploadsummary": "{{Identical|Summary}}",
-       "filereuploadsummary": "Label of textearea in [[Special:Upload]] when uploading a new version of existing file.",
+       "filereuploadsummary": "Label of text area in [[Special:Upload]] when uploading a new version of existing file.",
        "filestatus": "Used as section header in [[Special:Upload]].\n\nSee also:\n* {{msg-mw|License-header}}\n* {{msg-mw|Filedesc}}\n* {{msg-mw|Filesource}}",
        "filesource": "On page [[Special:Upload]] if defined $wgUseCopyrightUpload for detailed copyright information forms. This is source of file.\n\nSee also:\n* {{msg-mw|License-header}}\n* {{msg-mw|Filedesc}}\n* {{msg-mw|Filestatus}}\n{{Identical|Source}}",
        "ignorewarning": "Used as button text in the Upload form on [[Special:Upload]].\n\nSee also:\n* {{msg-mw|upload-tryagain|Submit button text}}\n* {{msg-mw|reuploaddesc|button text}}",
        "pageinfo-category-files": "See also:\n* {{msg-mw|Pageinfo-category-pages}}\n* {{msg-mw|Pageinfo-category-subcats}}",
        "skinname-monobook": "{{optional}}",
        "skinname-vector": "{{optional}}",
-       "markaspatrolleddiff": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolledtext}}",
+       "markaspatrolleddiff": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolledtext}}\n{{Identical|Mark as patrolled}}",
        "markaspatrolledlink": "{{notranslate}}\nParameters:\n* $1 - link which has text {{msg-mw|Markaspatrolledtext}}",
        "markaspatrolledtext": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolleddiff}}",
        "markedaspatrolled": "Used as title of the message {{msg-mw|Markedaspatrolledtext}}, when marking a change as patrolled.\n{{Related|Markedaspatrolled}}",
index 64676fd..8e71084 100644 (file)
                        "TTO",
                        "Urhixidur",
                        "לערי ריינהארט",
-                       "아라"
+                       "아라",
+                       "XXN"
                ]
        },
        "tog-underline": "Sublinierea legăturilor:",
        "tog-hideminor": "Ascunde modificările minore în schimbări recente",
-       "tog-hidepatrolled": "Ascunde modificările patrulate în schimbări recente",
+       "tog-hidepatrolled": "Ascunde modificările patrulate în schimbările recente",
        "tog-newpageshidepatrolled": "Ascunde paginile patrulate din lista de pagini noi",
        "tog-extendwatchlist": "Extinde lista de articole urmărite pentru a arăta toate schimbările efectuate, nu doar pe cele mai recente",
        "tog-usenewrc": "Grupează modificările după pagină în cadrul schimbărilor recente și listei paginilor urmărite",
        "searchmenu-exists": "'''Există o pagină cu titlul „[[:$1]]'” pe acest site.'''",
        "searchmenu-new": "<strong>'''Creați pagina „[[:$1]]” pe acest wiki!'''</strong> {{PLURAL:$2|0=|Vedeți, de asemenea, pagina găsită în urma căutării dumneavoastră.|Vedeți, de asemenea, rezultatele căutării.}}",
        "searchprofile-articles": "Pagini cu conținut",
-       "searchprofile-project": "Pagini din spațiile Proiect și Ajutor",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Totul",
        "searchprofile-advanced": "Avansat",
        "searchprofile-articles-tooltip": "Caută în $1",
-       "searchprofile-project-tooltip": "Caută în $1",
        "searchprofile-images-tooltip": "Caută fișiere",
        "searchprofile-everything-tooltip": "Caută în tot conținutul (incluzând paginile de discuție)",
        "searchprofile-advanced-tooltip": "Caută în spații de nume personalizate",
        "search-interwiki-default": "Rezultate de la $1:",
        "search-interwiki-more": "(mai mult)",
        "search-relatedarticle": "Relaționat",
-       "searcheverything-enable": "Caută în toate spațiile de nume",
        "searchrelated": "relaționat",
        "searchall": "toate",
        "showingresults": "Mai jos {{PLURAL:$1|apare '''1''' rezultat|apar '''$1''' rezultate|apar '''$1''' de rezultate}} începând cu nr. <b>$2</b>.",
        "powersearch-togglelabel": "Selectare:",
        "powersearch-toggleall": "Tot",
        "powersearch-togglenone": "Nimic",
+       "powersearch-remember": "Reține selecția pentru căutările viitoare",
        "search-external": "Căutare externă",
        "searchdisabled": "<p>Ne pare rău! Căutarea după text a fost dezactivată temporar, din motive de performanță. Între timp puteți folosi căutarea prin Google mai jos, însă aceasta poate să dea rezultate învechite.</p>",
        "search-error": "A apărut o eroare în timpul căutării: $1",
        "allowemail": "Acceptă e-mail de la alți utilizatori",
        "prefs-searchoptions": "Căutare",
        "prefs-namespaces": "Spații de nume",
-       "defaultns": "Altfel, caută în aceste spații de nume:",
        "default": "standard",
        "prefs-files": "Fișiere",
        "prefs-custom-css": "CSS personalizat",
        "tooltip-summary": "Descrieți pe scurt modificarea",
        "interlanguage-link-title": "$1 – $2",
        "common.css": "/** CSS plasate aici vor fi aplicate tuturor aparițiilor */",
-       "cologneblue.css": "/* CSS plasate aici vor afecta utilizatorii stilului Cologne Blue */",
        "monobook.css": "/* modificați acest fișier pentru a adapta înfățișarea monobook-ului pentru tot situl*/",
-       "modern.css": "/* CSS plasate aici vor afecta utilizatorii stilului Modern */",
        "vector.css": "/* CSS plasate aici vor afecta utilizatorii stilului Vector */",
        "print.css": "/* CSS plasate aici vor afecta modul în care paginile vor fi imprimate */",
        "anonymous": "{{PLURAL:$1|Utilizator anonim|Utilizatori anonimi}} ai {{SITENAME}}",
        "pageinfo-category-pages": "Număr de pagini",
        "pageinfo-category-subcats": "Număr de subcategorii",
        "pageinfo-category-files": "Număr de fișiere",
-       "skinname-cologneblue": "Albastru de Cologne",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Marchează pagina ca verificată",
        "markaspatrolledtext": "Marchează această pagină ca verificată",
index 912777f..0361726 100644 (file)
@@ -65,7 +65,8 @@
                        "לערי ריינהארט",
                        "Meshkov.a",
                        "아라",
-                       "Eroha"
+                       "Eroha",
+                       "Niklem"
                ]
        },
        "tog-underline": "Подчёркивание ссылок:",
        "search-interwiki-default": "Результаты из $1:",
        "search-interwiki-more": "(ещё)",
        "search-relatedarticle": "Связанный",
-       "searcheverything-enable": "Поиск по всем пространствам имён",
        "searchrelated": "связанный",
        "searchall": "все",
        "showingresults": "Ниже {{PLURAL:$1|1=показан результат|показаны  результаты}} с № '''$2''' и вплоть до № '''$1'''.",
        "powersearch-togglelabel": "Отметить:",
        "powersearch-toggleall": "Все",
        "powersearch-togglenone": "Ничего",
+       "powersearch-remember": "Запомнить выбор для будущих поисков",
        "search-external": "Внешний поиск",
        "searchdisabled": "Извините, но встроенный полнотекстовый поиск выключен. Вы можете воспользоваться поиском по сайту через поисковые системы общего назначения, однако имейте в виду, что копия сайта в их кэше может быть несколько устаревшей.",
        "search-error": "Произошла ошибка при поиске: $1",
        "allowemail": "Разрешить получение электронной почты от других участников",
        "prefs-searchoptions": "Поиск",
        "prefs-namespaces": "Пространства имён",
-       "defaultns": "Иначе искать в следующих пространствах имён:",
        "default": "по умолчанию",
        "prefs-files": "Файлы",
        "prefs-custom-css": "Собственный CSS",
        "movepagetalktext": "Присоединённая страница обсуждения будет также автоматически переименована, '''кроме случаев, когда:'''\n\n*Не пустая страница обсуждения уже существует под таким же именем или\n*Вы не поставили галочку в поле ниже.\n\nВ этих случаях, вы будете вынуждены переместить или объединить страницы вручную, если это нужно.",
        "movearticle": "Переименовать страницу",
        "moveuserpage-warning": "'''Внимание.''' Вы собираетесь переименовать страницу участника. Пожалуйста, обратите внимание, что переименована будет только страница, участник '''не''' будет переименован.",
-       "movecategorypage-warning": "<strong>Ð\9fÑ\80едÑ\83пÑ\80еждение:</strong> Ð\92Ñ\8b Ñ\81обиÑ\80аеÑ\82еÑ\81Ñ\8c Ð¿ÐµÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8c Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 ÐºÐ°Ñ\82егоÑ\80ии. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ð¾Ð±Ñ\80аÑ\82иÑ\82е Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ, Ñ\87Ñ\82о Ð±Ñ\83деÑ\82 Ð¿ÐµÑ\80емеÑ\89ена только эта страница, а все страницы старой категории <em>не</em> будут перекатегоризованы в новую.",
+       "movecategorypage-warning": "<strong>Ð\9fÑ\80едÑ\83пÑ\80еждение:</strong> Ð\92Ñ\8b Ñ\81обиÑ\80аеÑ\82еÑ\81Ñ\8c Ð¿ÐµÑ\80еименоваÑ\82Ñ\8c Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\83 ÐºÐ°Ñ\82егоÑ\80ии. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ð¾Ð±Ñ\80аÑ\82иÑ\82е Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ, Ñ\87Ñ\82о Ð±Ñ\83деÑ\82 Ð¿ÐµÑ\80еименована только эта страница, а все страницы старой категории <em>не</em> будут перекатегоризованы в новую.",
        "movenologintext": "Вы должны [[Special:UserLogin|представиться системе]],\nчтобы иметь возможность переименовать страницы.",
        "movenotallowed": "У вас нет разрешения переименовывать страницы.",
        "movenotallowedfile": "У вас нет разрешения переименовывать файлы.",
        "watchlistedit-raw-done": "Ваш список наблюдения сохранён.",
        "watchlistedit-raw-added": "{{PLURAL:$1|Была добавлена|Было добавлено|Были добавлены}} $1 {{PLURAL:$1|запись|записей|записи}}:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|Была удалена|Было удалено|Были удалены}} $1 {{PLURAL:$1|запись|записей|записи}}:",
-       "watchlistedit-clear-title": "СпиÑ\81ок Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f Ð¾Ñ\87иÑ\89ен",
+       "watchlistedit-clear-title": "Ð\9eÑ\87иÑ\89ение Ñ\81пиÑ\81ка Ð½Ð°Ð±Ð»Ñ\8eдениÑ\8f",
        "watchlistedit-clear-legend": "Очистить список наблюдения",
        "watchlistedit-clear-explain": "Все записи будут удалены из вашего списка наблюдения",
        "watchlistedit-clear-titles": "Заголовки:",
index a7784c1..9599d23 100644 (file)
        "search-interwiki-default": "$1 तः परिणामाः :",
        "search-interwiki-more": "(अधिकानि)",
        "search-relatedarticle": "सम्बद्धानि",
-       "searcheverything-enable": "सर्वस्मिन् नामाकाशे अन्विष्यताम्",
        "searchrelated": "सम्बद्धानि",
        "searchall": "सर्वाणि",
        "showingresults": "#'''$2''' क्रमाङ्कात् आरभ्य {{PLURAL:$1|'''$1''' परिणामः अधः प्रदर्शितः|'''$1''' परिणामाः अधः प्रदर्शिताः}}।",
        "allowemail": "अन्ययोजकैः प्रेषितानि ई-पत्राणि अनुमतिं ददातु",
        "prefs-searchoptions": "अन्विष्यताम्",
        "prefs-namespaces": "नामाकाशाः",
-       "defaultns": "अन्यथा एतेषु नामाकाशेषु अन्विषतु :",
        "default": "पूर्वनिर्दिष्टम्",
        "prefs-files": "सञ्चिका:",
        "prefs-custom-css": "स्वानुकुलसम्पादितं CSS",
        "right-reupload-shared": "विभक्तमाध्यमेन (shared media) स्थानीय-उपारोहिताः सञ्चिकाः नवीनसञ्चाकाभिः परिवर्त्यताम्",
        "right-upload_by_url": "सर्वासङ्केतात् (URL) उपारोहिताः सञ्चिकाः",
        "right-purge": "पृष्ठस्य उपस्मृतिं (cache) रिक्तीक्रियताम्",
-       "right-autoconfirmed": "सार्वसङ्केत()आधारितेन मूल्यनियन्त्रणेन सह अस्य सम्बन्धः नास्ति",
+       "right-autoconfirmed": "सार्वसङ्केत(IP)आधारितेन मूल्यनियन्त्रणेन सह अस्य सम्बन्धः नास्ति",
        "right-bot": "स्वसञ्चालितप्रणालित्वेन एतां स्वीक्रियताम्",
        "right-nominornewtalk": "सम्भाषणपृष्ठस्य लघुपरिवर्तनानां विषये मा सूच्यताम्",
        "right-apihighlimits": "API प्रश्नेषु उन्नतसीमाः उपयोज्यताम्",
        "right-editmyusercss": "स्वस्य CSS सञ्चिकाः सम्पाद्यताम्",
        "right-editmyuserjs": "स्वस्य JavaScript सञ्चिकाः सम्पाद्यताम्",
        "right-viewmywatchlist": "स्वस्य अवेक्षणावलिः दृष्यताम्",
-       "right-rollback": "अन्तिमयोजकस्य सम्पादनं शीघ्रं प्रचालयतु यः निर्दिष्टपुटं सम्पादितवान् ।",
-       "right-markbotedits": "प्रतिचालितसम्पादनानि स्वचालितसम्पदनं इव  अङ्कितानिकरोतु ।",
-       "right-noratelimit": "मूल्यनियत्या प्रभावितं नस्यात् ।",
-       "right-import": "अन्यविकितः पुटानाम् आयातं करोतु ।",
-       "right-importupload": "उत्तारितसञ्चिकातः पुटानि आयातानि करोतु ।",
-       "right-patrol": "अन्येषां सम्पादनम् आरक्षितमिव अङ्कयतु ।",
-       "right-autopatrol": "कस्यचित् स्वस्य सम्पादनानि आरक्षितमिव स्वयम् अङ्कयतु ।",
-       "right-patrolmarks": "आरक्षणाङ्कितानां सद्यः परिवर्तनानि अवलोकयतु ।",
-       "right-unwatchedpages": "अपरीक्षितपुटानाम् आवलीम् अवलोकयतु ।",
-       "right-mergehistory": "पुटेतिहासं विलीनं करोतु ।",
-       "right-userrights": "सर्वयोजकाधिकारं सम्पादयतु ।",
-       "right-userrights-interwiki": "योजकाधिकारान् अन्यविकिषु सम्पादयतु ।",
-       "right-siteadmin": "पाठमूलस्य निशेधनम् अनिशेधनं च ।",
+       "right-editmywatchlist": "स्वस्य अवेक्षणावलिः सम्पाद्यताम् । अत्र ध्यातव्यं यत्, अन्यचेष्टाभिः विना अधिकारेण अत्र अन्यपुष्ठानि योजयितुम् अवसरः अस्ति ।",
+       "right-viewmyprivateinfo": "स्वस्य व्यक्तिगतसूचनाः दृश्यताम् (उदा. ई-पत्रसन्देशः, वास्तविकनाम)",
+       "right-editmyprivateinfo": "स्वस्य व्यक्तिगतसूचनाः सम्पाद्यताम् (उदा. ई-पत्रसन्देशः, वास्तविकनाम)",
+       "right-editmyoptions": "स्वस्य इष्टतमानि सम्पाद्यताम्",
+       "right-rollback": "कस्मिंश्चित् पृष्ठे येन अन्तिमयोजकेन परिवर्तनं कृतं, तत् परिवर्तनं शीर्घ्रं पूर्ववत् करोतु",
+       "right-markbotedits": "पूर्ववत् यानि सम्पादनानि कृतानि, तानि बॉट्-सम्पादनत्वेन अङ्कितं करोतु",
+       "right-noratelimit": "वेगस्य सीमायाः कारणेन परिवर्तनं न भवेत्",
+       "right-import": "अन्यस्मात् विकि-जालस्थआनात् पृष्ठानि आयातं करोतु",
+       "right-importupload": "उपारोहिताभ्यः (upload) सञ्चिकाभ्यः पृष्ठानि आयातं करोतु",
+       "right-patrol": "अन्येषां सम्पादनानि निरिक्षितत्वेन अङ्क्यताम्",
+       "right-autopatrol": "स्वस्य सम्पादनानि निरिक्षितत्वेन अङ्क्यताम्",
+       "right-patrolmarks": "नूतनपरिवर्तनेषु निरिक्षित-अङ्कनं दृश्यताम्",
+       "right-unwatchedpages": "अदृष्टपृष्टानाम् आवलिः दृश्यताम्",
+       "right-mergehistory": "पृष्ठानाम् इतिहासम् एकीकरोतु",
+       "right-userrights": "सर्वयोजकाधिकारः सम्पाद्यताम्",
+       "right-userrights-interwiki": "अन्यविकि-जालस्थानानां योजकाधिकारः सम्पाद्यताम्",
+       "right-siteadmin": "दत्तांशनिधिं किलतु, अकिलितं च करोतु",
        "right-override-export-depth": "पञ्चस्तरपर्यन्तं संलग्नपुटानि निर्यातानि करोतु ।",
        "right-sendemail": "अन्ययोजकेभ्यः विद्युन्मानपत्राणि प्रेषयतु ।",
        "right-passwordreset": "निकुञ्चपुनारचितानां विद्युन्मानपत्राणाम् अवलोकनम् ।",
        "listgrouprights-removegroup-self": "स्वस्थाने {{PLURAL:$2|समूहम्}} अपनयतु  $1",
        "listgrouprights-addgroup-self-all": "स्वस्थाने सर्वसमूहान योजयतु ।",
        "listgrouprights-removegroup-self-all": "स्वस्थानात् सर्वसमूहान् अपनयतु ।",
+       "listgrouprights-namespaceprotection-namespace": "नामाकाशः",
        "mailnologin": "सम्प्रेषणस्य सङ्केतः नास्ति ।",
        "mailnologintext": "अस्य योजकेभ्यः विद्युन्मानपत्रप्रेषणार्थम् [[Special:UserLogin|नामाभिलेखनम्]] आवश्यकम् [[Special:Preferences|आद्यता]]यां प्रेषयितुं विद्युन्मानपत्रसङ्केतः आवश्यकः ।",
        "emailuser": "एतस्मै योजकाय ई-पत्रं प्रेष्यताम्",
index d9f2b27..547ad14 100644 (file)
        "search-interwiki-default": "Risultati da $1:",
        "search-interwiki-more": "(cchiù)",
        "search-relatedarticle": "Risultati currilati",
-       "searcheverything-enable": "Cerca ni tutti li namespace",
        "searchrelated": "currilati",
        "searchall": "tutti",
        "showingresults": "Ammustra nzinu a {{PLURAL:$1|'''1''' risurtatu|'''$1''' risurtati}} a pàrtiri dô nùmmuru '''$2'''.",
        "allowemail": "Cunzenti la ricezzioni di e-mail di àutri utenti",
        "prefs-searchoptions": "Opzioni di circata",
        "prefs-namespaces": "Namespace",
-       "defaultns": "In casu cuntrariu cerca ni sti namespace:",
        "default": "pridifinitu",
        "prefs-files": "Mmàggini",
        "prefs-custom-css": "CSS personalizzatu",
index bc2de72..b2269be 100644 (file)
        "search-interwiki-default": "Rezultati s strani $1:",
        "search-interwiki-more": "(več)",
        "search-relatedarticle": "Podobno",
-       "searcheverything-enable": "Iskanje po vseh imenskih prostorih",
        "searchrelated": "povezano",
        "searchall": "vse",
        "showingresults": "Prikazujem do '''$1''' {{PLURAL:$1|zadetek|zadetka|zadetke|zadetkov}}, začenši s št. '''$2'''.",
        "powersearch-togglelabel": "Izberi:",
        "powersearch-toggleall": "Vse",
        "powersearch-togglenone": "Nič",
+       "powersearch-remember": "Zapomni si izbiro za nadaljnja iskanja",
        "search-external": "Zunanji iskalnik",
        "searchdisabled": "Iskanje po {{GRAMMAR:dajalnik|{{SITENAME}}}} je onemogoočeno.\nMedtem lahko iščete preko Googla.\nUpoštevajte, da so njihovi podatki vsebine {{GRAMMAR:rodilnik|{{SITENAME}}}} morda zastareli.",
        "search-error": "Med iskanjem je prišlo do napake: $1",
        "allowemail": "Drugim uporabnikom omogoči pošiljanje e-pošte",
        "prefs-searchoptions": "Iskanje",
        "prefs-namespaces": "Imenski prostori",
-       "defaultns": "Navadno išči v naslednjih imenskih prostorih:",
        "default": "privzeto",
        "prefs-files": "Datoteke",
        "prefs-custom-css": "CSS po meri",
index f90910e..dc27bbc 100644 (file)
        "powersearch-togglenone": "Waxna",
        "preferences": "Dooqyada",
        "mypreferences": "Dooqyadeyda",
+       "prefs-edits": "Tirada wax bedelka:",
        "prefs-skin": "Jirka",
        "skin-preview": "Horfiirin",
        "datedefault": "Ma'jiro dooq",
        "prefs-rc": "Isbedelada dhow",
        "prefs-watchlist": "liiska-waardiyaha",
        "prefs-watchlist-days": "Tirada maalamaha ay ku jirayaan liiska-waardiyaha:",
+       "prefs-resetpass": "Bedel ereysirta",
        "prefs-email": "E-mail aad dooran kartaa",
        "prefs-rendering": "Muuqaalka",
        "saveprefs": "Kaydi",
        "youremail": "E-mail:",
        "username": "Gudagal:",
        "prefs-memberingroups": "{{GENDER:$2|Xubin}} ka mid ah {{PLURAL:$1|kooxda|kooxaha}}:",
+       "prefs-registration": "Waqtiga diiwaan galinta",
        "yourrealname": "Magacaaga runta ah:",
        "yourlanguage": "luqad:",
        "yournick": "Saxiix cusub:",
+       "prefs-help-signature": "Waan in la saxiixaa wadahdalada ku dhaca bogga wadhadalka adigoo adeegsaanaya \"<nowiki>~~~~</nowiki>\", kaasoo u rogi doona saxiixa iyo waqtiga.",
        "badsiglength": "Naaneysta aad bey u dheertahay.\nWaa in aysan ka badanin $1 {{PLURAL:$1|eray|erayo}}.",
        "yourgender": "Jinsi:",
        "gender-unknown": "Aana la qeexin",
        "gender-male": "Lab",
        "gender-female": "Dhedig",
+       "prefs-help-gender": "Ahaysiinta xulashaan waa mid dooqasha ah.\nBarnaamijkaan adeegsigiisa waxay qiima u yeelaysaa wadahadalkaada iyo kuwa kale iyadoo bedelaysa habka qofka sida lab ama dheddig.\nMacluumadkaan waa mid la wada arkayo.",
        "email": "E-mail",
        "prefs-help-realname": "Optional: if you choose to provide it this will be used for giving you attribution for your work.",
        "prefs-help-email": "E-mail waa wax aad xor u leedahay. laakiin waa loo baahanyahay hadii aad eraysirka badaleesid, hadii aad ilaawdo eraygaaga sirta ah",
        "prefs-help-email-others": "Waxaa kale oo aad u isticmaali kartaa in ee dadka kale kugula soo xiriiraan e-mail ayaga oo isticmaalaayo linki isticmaalahaada ama bogga wadahadalka.\nE-mailkaada mala sheegaayo markii ee dadka kale kula soo xiriirayaan.",
        "prefs-help-email-required": "Waxaa loo baahanyahay e-mail.",
        "prefs-info": "Macluumaadka asaasiga ah",
+       "prefs-i18n": "Caalamiyeen",
+       "prefs-signature": "Saxiixa",
+       "prefs-help-prefershttps": "Waxaa lahagaajin doonaan dooqaan marka xiga ee aad soo gasho",
        "saveusergroups": "Kaydi kooxaha isticmaalayaasha",
        "userrights-groupsmember": "Ka mid ah:",
        "userrights-reason": "Sababta:",
index aa6d614..809a98c 100644 (file)
        "search-interwiki-default": "Резултати са $1:",
        "search-interwiki-more": "(више)",
        "search-relatedarticle": "Повезано",
-       "searcheverything-enable": "сви именски простори",
        "searchrelated": "повезано",
        "searchall": "све",
        "showingresults": "Испод {{PLURAL:$1|је приказан <strong>1</strong> резултат|су приказана <strong>$1</strong> резултата|је приказано <strong>$1</strong> резултата}} почев од броја <strong>$2</strong>.",
        "allowemail": "Омогући примање е-порука од других корисника",
        "prefs-searchoptions": "Претрага",
        "prefs-namespaces": "Именски простори",
-       "defaultns": "Ако није наведено другачије, тражи у овим именским просторима:",
        "default": "подразумевано",
        "prefs-files": "Датотеке",
        "prefs-custom-css": "Прилагођени CSS",
        "newimages-summary": "Ова посебна страница приказује последње послате датотеке.",
        "newimages-legend": "Филтер",
        "newimages-label": "Назив датотеке (или њен део):",
+       "newimages-showbots": "Прикажи датотеке које су послали ботови",
        "noimages": "Нема ништа.",
        "ilsubmit": "Претражи",
        "bydate": "по датуму",
        "watchlistedit-normal-submit": "Уклони",
        "watchlistedit-normal-done": "{{PLURAL:$1|Једна страница је уклоњена|$1 странице су уклоњене|$1 страница је уклоњено}} с вашег списка надгледања:",
        "watchlistedit-raw-title": "Измени сиров списак надгледања",
-       "watchlistedit-raw-legend": "Ð\9dапÑ\80едно Ñ\83Ñ\80еÑ\92иваÑ\9aе Ñ\81пиÑ\81ка надгледања",
+       "watchlistedit-raw-legend": "Ð\98змени Ñ\81иÑ\80ов Ñ\81пиÑ\81ак надгледања",
        "watchlistedit-raw-explain": "Наслови са списка надгледања су приказани испод и могу се уређивати додавањем или уклањањем ставки са списка;\nједан наслов по реду.\nКада завршите, кликните на „{{int:Watchlistedit-raw-submit}}“.\nМожете да [[Special:EditWatchlist|користите и обичан уређивач]].",
        "watchlistedit-raw-titles": "Наслови:",
        "watchlistedit-raw-submit": "Ажурирај списак",
index 843ac2f..d6434f3 100644 (file)
        "search-interwiki-default": "Rezultati sa $1:",
        "search-interwiki-more": "(više)",
        "search-relatedarticle": "Povezano",
-       "searcheverything-enable": "svi imenski prostori",
        "searchrelated": "povezano",
        "searchall": "sve",
        "showingresults": "Ispod {{PLURAL:$1|je prikazan <strong>1</strong> rezultat|su prikazana <strong>$1</strong> rezultata|je prikazano <strong>$1</strong> rezultata}} počev od broja <strong>$2</strong>.",
        "allowemail": "Omogući primanje e-poruka od drugih korisnika",
        "prefs-searchoptions": "Pretraga",
        "prefs-namespaces": "Imenski prostori",
-       "defaultns": "Ako nije navedeno drugačije, traži u ovim imenskim prostorima:",
        "default": "podrazumevano",
        "prefs-files": "Datoteke",
        "prefs-custom-css": "Prilagođeni CSS",
        "watchlistedit-normal-submit": "Ukloni",
        "watchlistedit-normal-done": "{{PLURAL:$1|Jedna stranica je uklonjena|$1 stranice su uklonjene|$1 stranica je uklonjeno}} s vašeg spiska nadgledanja:",
        "watchlistedit-raw-title": "Izmeni sirov spisak nadgledanja",
-       "watchlistedit-raw-legend": "Napredno uređivanje spiska nadgledanja",
+       "watchlistedit-raw-legend": "Izmeni sirov spisak nadgledanja",
        "watchlistedit-raw-explain": "Naslovi sa spiska nadgledanja su prikazani ispod i mogu se uređivati dodavanjem ili uklanjanjem stavki sa spiska;\njedan naslov po redu.\nKada završite, kliknite na „{{int:Watchlistedit-raw-submit}}“.\nMožete da [[Special:EditWatchlist|koristite i običan uređivač]].",
        "watchlistedit-raw-titles": "Naslovi:",
        "watchlistedit-raw-submit": "Ažuriraj spisak",
index f527f8b..9b162d8 100644 (file)
        "searchmenu-exists": "<strong>Det finns en sida med namnet \"[[:$1]]\" på denna wiki.</strong> {{PLURAL:$2|0=|Se även de andra sökresultaten som hittades.}}",
        "searchmenu-new": "<strong>Skapa sidan \"[[:$1]]\" på denna wiki!</strong> {{PLURAL:$2|0=|Se även sidan som hittades med din sökning.|Se även sidorna som hittades med din sökning.}}",
        "searchprofile-articles": "Innehållssidor",
-       "searchprofile-project": "Hjälp- och projektsidor",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Allt",
        "searchprofile-advanced": "Avancerad",
        "searchprofile-articles-tooltip": "Sök i $1",
-       "searchprofile-project-tooltip": "Sök i $1",
        "searchprofile-images-tooltip": "Sök efter filer",
        "searchprofile-everything-tooltip": "Sök allt innehåll (inklusive diskussionssidor)",
        "searchprofile-advanced-tooltip": "Sök i vissa namnrymder",
        "search-interwiki-default": "Resultat från $1:",
        "search-interwiki-more": "(mer)",
        "search-relatedarticle": "Relaterad",
-       "searcheverything-enable": "Sök i alla namnrymder",
        "searchrelated": "relaterad",
        "searchall": "alla",
        "showingresults": "Nedan visas upp till {{PLURAL:$1|'''1''' post|'''$1''' poster}} från och med nummer '''$2'''.",
        "powersearch-togglelabel": "Kryssa:",
        "powersearch-toggleall": "Alla",
        "powersearch-togglenone": "Ingen",
+       "powersearch-remember": "Kom ihåg val för framtida sökningar",
        "search-external": "Extern sökning",
        "searchdisabled": "Sökfunktionen på {{SITENAME}} är avstängd.\nDu kan istället göra sökningar med hjälp av Google.\nNotera dock att deras indexering av {{SITENAME}} kan vara något föråldrad.",
        "search-error": "Ett fel uppstod under sökningen: $1",
        "allowemail": "Tillåt e-post från andra användare",
        "prefs-searchoptions": "Sök",
        "prefs-namespaces": "Namnrymder",
-       "defaultns": "Sök annars i dessa namnrymder:",
        "default": "ursprungsinställning",
        "prefs-files": "Filer",
        "prefs-custom-css": "personlig CSS",
        "tooltip-summary": "Skriv en kort sammanfattning",
        "interlanguage-link-title": "$1 - $2",
        "common.css": "/* CSS som skrivs här påverkar alla skal */",
-       "cologneblue.css": "/* CSS som skrivs här kommer att påverka alla användare av skalet Cologne blå */",
        "monobook.css": "/* CSS som skrivs här kommer att påverka alla användare av skalet Monobook */",
-       "modern.css": "/* CSS som skrivs här kommer att påverka alla användare av skalet Modern */",
        "vector.css": "/* CSS som skrivs här kommer att påverka alla användare av skalet Vector */",
        "print.css": "/* CSS som skrivs här kommer att påverka utskriftsversionen */",
        "noscript.css": "/* CSS som placeras här kommer att påverka användare med JavaScript inaktiverat */",
        "group-sysop.css": "/* CSS som placeras här kommer bara att påverka administratörer */",
        "group-bureaucrat.css": "/* CSS som placeras här kommer bara att påverka byråkrater */",
        "common.js": "/* JavaScript som skrivs här körs varje gång en användare laddar en sida. */",
-       "cologneblue.js": "/* JavaScript här kommer att laddas för dem som använder skalet Cologne blå */",
        "monobook.js": "/* JavaScript här kommer att laddas för dem som använder skalet Monobook */",
-       "modern.js": "/* JavaScript här kommer att laddas för dem som använder skalet Modern */",
        "vector.js": "/* JavaScript här kommer att laddas för dem som använder skalet Vector */",
        "group-autoconfirmed.js": "/* JavaScript här kommer att laddas för bekräftade användare */",
        "group-user.js": "/* JavaScript här kommer att laddas för registrerade användare */",
        "pageinfo-category-pages": "Antal sidor",
        "pageinfo-category-subcats": "Antal underkategorier",
        "pageinfo-category-files": "Antal filer",
-       "skinname-cologneblue": "Cologne blå",
        "skinname-monobook": "Monobook",
-       "skinname-modern": "Modern",
        "skinname-vector": "Vector",
        "markaspatrolleddiff": "Märk som patrullerad",
        "markaspatrolledtext": "Märk den här sidan som patrullerad",
index 7117def..d297c7b 100644 (file)
@@ -33,7 +33,8 @@
                        "மதனாஹரன்",
                        "බිඟුවා",
                        "Thamiziniyan",
-                       "아라"
+                       "아라",
+                       "Kalyanasundar"
                ]
        },
        "tog-underline": "இணைப்புகளுக்கு அடிக்கோடிடு",
        "searchmenu-exists": "'''\"[[:$1]]\" என்னும் பெயருடைய பக்கம் இந்த விக்கியில் உள்ளது'''",
        "searchmenu-new": "'''\"[[:$1]]\" பக்கத்தை இந்த விக்கியில் உருவாக்கவும்!'''",
        "searchprofile-articles": "உள்ளடக்கப் பக்கங்களின் பட்டியல்",
-       "searchprofile-project": "உதவி மற்றும் திட்டப் பக்கங்கள்",
        "searchprofile-images": "பல்லூடகம்",
        "searchprofile-everything": "எல்லாம்\n\nஅத்தனையும்",
        "searchprofile-advanced": "மேம்பட்ட",
        "searchprofile-articles-tooltip": "$1-ல் தேடவும்",
-       "searchprofile-project-tooltip": "$1-ல் தேடவும்",
        "searchprofile-images-tooltip": "கோப்புகளைத் தேடுக",
        "searchprofile-everything-tooltip": "எல்லா உள்ளடக்கங்களிலும் தேடுக (பேச்சுப் பக்கங்கள் உட்பட)",
        "searchprofile-advanced-tooltip": "தனிப்பட்ட பெயர்வெளிகளில் தேடவும்",
        "search-interwiki-default": "$1 தளத்தின் முடிவுகள்:",
        "search-interwiki-more": "(மேலும்)",
        "search-relatedarticle": "தொடர்புடையவை",
-       "searcheverything-enable": "அனைத்துப் பெயர்வெளிகளிலும் தேடவும்",
        "searchrelated": "தொடர்புடையவை",
        "searchall": "அனைத்தும்",
        "showingresults": "'''$2''' இலிருந்து தொடங்கும்  {{PLURAL:$1|'''1''' முடிவு கீழே காட்டப்பட்டுள்ளது|'''$1''' முடிவுகள் கீழே காட்டப்பட்டுள்ளன}}.",
        "powersearch-togglelabel": "சரிபார்க்கவும்:",
        "powersearch-toggleall": "அனைத்தும்",
        "powersearch-togglenone": "ஏதுமில்லை",
+       "powersearch-remember": "எதிர்கால தேடுதல்களுக்காக தேர்வை நினைவில் கொள்ளவும்",
        "search-external": "வெளித்தேடல்",
        "searchdisabled": "{{SITENAME}} தளத்தின் தேடல் வசதிகள் தற்காலிகமாக முடக்கப்பட்டுள்ளது. அதுவரை நீங்கள் கீழேயுள்ள கூகிள் தேடலைப் பயன்படுத்தலாம். இது சில சமயம் இற்றைப்படுத்தப்படாததாய் இருக்கக்கூடும்.",
        "search-error": "தேடுகையில் ஒரு பிழை ஏற்பட்டுள்ளது:$1",
        "allowemail": "ஏனைய பயனர்களிடம் இருந்தான மின்னஞ்சல்களை அனுமதி",
        "prefs-searchoptions": "தேடல்",
        "prefs-namespaces": "பெயர்வெளிகள்",
-       "defaultns": "அப்படியில்லையென்றால் இந்த பொயர்வெளிகளில் தேடவும்:",
        "default": "பொதுவானது",
        "prefs-files": "கோப்புகள்",
        "prefs-custom-css": "தனிப்பட்ட சி.எசு.எசு (CSS)",
        "prefs-emailconfirm-label": "மின்னஞ்சலை உறுதிசெய்தல்:",
        "youremail": "மின்னஞ்சல்:",
        "username": "{{GENDER:$1|பயனர் பெயர்}}:",
-       "uid": "{{GENDER:$1|User}} ID:",
        "prefs-memberingroups": "பின்வரும் {{PLURAL:$1|குழு|குழுக்களில்}} உறுப்பினர்:",
        "prefs-registration": "பதிவு செய்யும் நேரம்:",
        "yourrealname": "உண்மைப் பெயர்:",
        "log-title-wildcard": "இவ்வுரையுடன் தொடங்கும் தலைப்புகளைத் தேடு",
        "showhideselectedlogentries": "தேர்ந்தெடுத்த குறிப்பேடு உள்ளீடுகள் காண்பி/மறை",
        "allpages": "அனைத்துப் பக்கங்கள்",
-       "alphaindexline": "$1 தொடக்கம் $2 வரை",
        "nextpage": "அடுத்த பக்கம் ($1)",
        "prevpage": "முந்திய பக்கம் ($1)",
        "allpagesfrom": "அடுத்து காணப்படும் எழுத்தில் தொடங்கும் பக்கங்களை காட்டு:",
        "pageinfo-category-info": "பகுப்புகளின் எண்ணிக்கை",
        "pageinfo-category-pages": "பக்கங்களின் எண்ணிக்கை",
        "pageinfo-category-files": "கோப்புகளின் எண்ணிக்கை",
-       "skinname-cologneblue": "கொலோன் (Cologne) நீலம் Blue",
        "markaspatrolleddiff": "ரோந்திட்டதாக குறி",
        "markaspatrolledtext": "இப்பக்கத்தை ரோந்திட்டதாகக் குறி",
        "markedaspatrolled": "ரோந்திட்டதாக குறிக்கப்பட்டது",
index 7b9d9ce..f214c94 100644 (file)
        "view-foreign": "$1 లో చూడండి",
        "edit": "సవరించు",
        "create": "సృష్టించు",
+       "create-local": "ప్రాంతీయ వివరణని చేర్చు",
        "editthispage": "ఈ పేజీని సవరించండి",
        "create-this-page": "ఈ పేజీని సృష్టించండి",
        "delete": "తొలగించు",
        "jumptonavigation": "మార్గసూచీ",
        "jumptosearch": "వెతుకు",
        "view-pool-error": "క్షమించండి, ప్రస్తుతం సర్వర్లన్నీ ఓవర్‌లోడ్ అయిఉన్నాయి.\nచాలామంది వాడుకరులు ఈ పేజీని చూస్తున్నారు.\nఈ పేజీని వీక్షించడానికి కొద్దిసేపు నిరీక్షించండి.\n\n$1",
+       "generic-pool-error": "క్షమించండి, ప్రస్తుతం సర్వర్లన్నీ ఓవర్‌లోడ్ అయిఉన్నాయి.\nచాలామంది వాడుకరులు దీనిని చూస్తున్నారు.\nదీనిని వీక్షించడానికి కొద్దిసేపు నిరీక్షించండి.",
        "pool-timeout": "తాళం కొరకు వేచివుండడానికి కాలపరిమితి అయిపోయింది",
        "pool-queuefull": "సమూహపు వరుస నిండుగా ఉంది",
        "pool-errorunknown": "తెలియని లోపం",
        "edit-conflict": "దిద్దుబాటు ఘర్షణ.",
        "edit-no-change": "పాఠ్యంలో మార్పులేమీ చెయ్యలేదు కాబట్టి, మీ మార్పును పట్టించుకోవట్లేదు.",
        "postedit-confirmation-created": "పేజీ సృష్టించబడినది.",
+       "postedit-confirmation-restored": "పేజీ పునసృష్టించబడినది.",
        "postedit-confirmation-saved": "మీ మార్పు భద్రమయ్యింది.",
        "edit-already-exists": "కొత్త పేజీని సృష్టించలేకపోయాం.\nఅది ఇప్పటికే ఉంది.",
        "defaultmessagetext": "అప్రమేయ సందేశపు పాఠ్యం",
        "searchmenu-exists": "<strong>ఈ వికీలో \"[[:$1]]\" అనే పేజీ ఉంది.</strong> {{PLURAL:$2|0=|ఇతర ఫలితాలను కూడా చూడండి.}}",
        "searchmenu-new": "<strong>ఈ వికీలో \"[[:$1]]\" అనే పేరుతో పేజీని సృష్టించండి!</strong> {{PLURAL:$2|0=|మీ వెతుకులాటలో దొరికిన పేజీని కూడా చూడండి.|వెతుకులాట ఫలితాలను కూడా చూడండి.}}",
        "searchprofile-articles": "విషయపు పేజీలు",
-       "searchprofile-project": "సహాయం మరియు ప్రాజెక్టు పేజీలు",
        "searchprofile-images": "బహుళమాధ్యమాలు",
        "searchprofile-everything": "ప్రతీ ఒక్కటీ",
        "searchprofile-advanced": "ఉన్నత",
        "searchprofile-articles-tooltip": "$1 లలో వెతకండి",
-       "searchprofile-project-tooltip": "$1 లలో వెతకండి",
        "searchprofile-images-tooltip": "పైళ్ళ కోసం వెతకండి",
        "searchprofile-everything-tooltip": "అన్ని చోట్లా (చర్చా పేజీలతో సహా) వెతకండి",
        "searchprofile-advanced-tooltip": "కస్టం నేంస్పేసులలో వెదుకు",
        "search-interwiki-default": "$1 నుండి ఫలితాలు:",
        "search-interwiki-more": "(మరిన్ని)",
        "search-relatedarticle": "సంబంధించినవి",
-       "searcheverything-enable": "అన్ని పేరుబరుల్లో వెతుకు",
        "searchrelated": "సంబంధించినవి",
        "searchall": "అన్నీ",
        "showingresults": "#<strong>$2</strong> నుండి మొదలుకొని {{PLURAL:$1|</strong>ఒక్క</strong> ఫలితాన్ని|<strong>$1</strong> ఫలితాలను}} కింద చూపించాం.",
        "allowemail": "ఇతర వాడుకరుల నుండి ఈ-మెయిళ్ళను రానివ్వు",
        "prefs-searchoptions": "వెతుకులాట",
        "prefs-namespaces": "పేరుబరులు",
-       "defaultns": "లేకపోతే ఈ నేంస్పేసులలో అన్వేషించు:",
        "default": "అప్రమేయం",
        "prefs-files": "ఫైళ్ళు",
        "prefs-custom-css": "ప్రత్యేక CSS",
        "pageinfo-contentpage-yes": "అవును",
        "pageinfo-protect-cascading": "సంరక్షణ ఇక్కడినుంచి వ్యాపిస్తుంది",
        "pageinfo-protect-cascading-yes": "అవును",
+       "pageinfo-protect-cascading-from": "సంరక్షణ ఇక్కడినుంచి వ్యాపిస్తుంది",
        "pageinfo-category-info": "వర్గపు సమాచారం",
        "pageinfo-category-pages": "పేజీల సంఖ్య",
        "pageinfo-category-subcats": "ఉపవర్గాల సంఖ్య",
        "pageinfo-category-files": "దస్త్రాల సంఖ్య",
-       "skinname-cologneblue": "కలోన్ నీలం",
        "skinname-monobook": "మోనోబుక్",
-       "skinname-modern": "ఆధునిక",
        "skinname-vector": "వెక్టర్",
        "markaspatrolleddiff": "పరీక్షించినట్లుగా గుర్తు పెట్టు",
        "markaspatrolledtext": "ఈ వ్యాసాన్ని పరీక్షించినట్లుగా గుర్తు పెట్టు",
        "file-info-size-pages": "$1 × $2 పిక్సెళ్ళు, దస్త్రపు పరిమాణం: $3, MIME రకం: $4, $5 {{PLURAL:$5|పేజీ|పేజీలు}}",
        "file-nohires": "మరింత స్పష్టమైన బొమ్మ లేదు.",
        "svg-long-desc": "SVG ఫైలు, నామమాత్రంగా $1 × $2 పిక్సెళ్ళు, ఫైలు పరిమాణం: $3",
+       "svg-long-desc-animated": "ఏనిమేటడ్ SVG ఫైలు, నామమాత్రంగా $1 × $2 పిక్సెళ్ళు, ఫైలు పరిమాణం: $3",
        "svg-long-error": "చెల్లని SVG దస్త్రం: $1",
        "show-big-image": "అసలు దస్త్రం",
        "show-big-image-preview": "ఈ మునుజూపు పరిమాణం: $1.",
index 395ba26..c90035d 100644 (file)
        "search-interwiki-default": "$1 mga resulta:",
        "search-interwiki-more": "(mas marami pa)",
        "search-relatedarticle": "Kaugnay",
-       "searcheverything-enable": "Maghanap sa lahat ng ngalan-espasyo:",
        "searchrelated": "kaugnay",
        "searchall": "lahat",
        "showingresults": "Ipinapakita sa ibaba ang magpahanggang sa {{PLURAL:$1|'''1''' resultang|'''$1''' mga resultang}} nagsisimula sa #'''$2'''.",
        "powersearch-togglelabel": "Suriin:",
        "powersearch-toggleall": "Lahat",
        "powersearch-togglenone": "Wala",
+       "powersearch-remember": "Tandaan ang piniling ito para sa mga paghahanap sa hinaharap",
        "search-external": "Panlabas na paghahanap",
        "searchdisabled": "Nakapatay ang paghahanap sa {{SITENAME}}. Maaari kang pansamantalang maghanap sa pamamagitan ng Google. Tandaan na maaaring luma na ang kanilang mga indeks sa nilalaman ng {{SITENAME}}.",
        "preferences": "Mga kagustuhan",
        "allowemail": "Pahintulutan ang e-liham mula sa ibang mga tagagamit",
        "prefs-searchoptions": "Paghahanap",
        "prefs-namespaces": "Mga espasyo ng pangalan",
-       "defaultns": "O kaya maghanap sa mga pangalan ng espasyong ito:",
        "default": "Likas na pagtatakda",
        "prefs-files": "Mga talaksan",
        "prefs-custom-css": "Pasadyang CSS",
        "recentchanges-legend-newpage": "$1 - bagong pahina",
        "rcnotefrom": "Nasa ibaba ang mga pagbabago mula pa noong '''$2''' (ipinapakita ang magpahanggang sa '''$1''').",
        "rclistfrom": "Ipakita ang bagong mga pagbabago simula sa $3 $2",
-       "rcshowhideminor": "$1 maliliit na mga pagbabago",
+       "rcshowhideminor": "$1 ang mga maliliit na pagbabago",
        "rcshowhideminor-show": "Ipakita",
        "rcshowhideminor-hide": "Itago",
-       "rcshowhidebots": "$1 mga ''bot''",
+       "rcshowhidebots": "$1 ang mga bot",
        "rcshowhidebots-show": "Ipakita",
        "rcshowhidebots-hide": "Itago",
-       "rcshowhideliu": "$1 nakatalang mga tagagamit",
+       "rcshowhideliu": "$1 ang mga nakatalang tagagamit",
        "rcshowhideliu-show": "Ipakita",
        "rcshowhideliu-hide": "Itago",
-       "rcshowhideanons": "$1 hindi kilalang mga tagagamit",
+       "rcshowhideanons": "$1 ang mga 'di-kilalang tagagamit",
        "rcshowhideanons-show": "Ipakita",
        "rcshowhideanons-hide": "Itago",
-       "rcshowhidepatr": "$1 napatrolyang mga pagbabago",
+       "rcshowhidepatr": "$1 ang mga pagbabagong nakapatrolya",
        "rcshowhidepatr-show": "Ipakita",
        "rcshowhidepatr-hide": "Itago",
-       "rcshowhidemine": "$1 mga pagbabago ko",
+       "rcshowhidemine": "$1 ang mga pagbabago ko",
        "rcshowhidemine-show": "Ipakita",
        "rcshowhidemine-hide": "Itago",
        "rclinks": "Ipakita ang huling $1 mga pagbabago sa loob ng huling $2 mga araw<br />$3",
index 89ee4eb..710c1e0 100644 (file)
        "search-interwiki-default": "Результати із $1:",
        "search-interwiki-more": "(більше)",
        "search-relatedarticle": "Пов'язаний",
-       "searcheverything-enable": "Пошук у всіх просторах назв",
        "searchrelated": "пов'язаний",
        "searchall": "усі",
        "showingresults": "Нижче {{PLURAL:$1|показане|показані|показані}} '''$1''' {{PLURAL:$1|результат|результати|результатів}}, починаючи з №&nbsp;'''$2'''",
        "allowemail": "Дозволити електронну пошту від інших користувачів",
        "prefs-searchoptions": "Пошук",
        "prefs-namespaces": "Простори назв",
-       "defaultns": "Інакше шукати в таких просторах назв:",
        "default": "за умовчанням",
        "prefs-files": "Файли",
        "prefs-custom-css": "Власний CSS",
index c9c3699..3d47f0d 100644 (file)
        "search-interwiki-default": "Kết quả từ $1:",
        "search-interwiki-more": "(thêm)",
        "search-relatedarticle": "Liên quan",
-       "searcheverything-enable": "Tìm trong tất cả không gian tên",
        "searchrelated": "có liên quan",
        "searchall": "tất cả",
        "showingresults": "Dưới đây là {{PLURAL:$1|'''1'''|'''$1'''}} kết quả bắt đầu từ #'''$2'''.",
        "powersearch-togglelabel": "Chọn:",
        "powersearch-toggleall": "Tất cả",
        "powersearch-togglenone": "Không",
+       "powersearch-remember": "Nhớ lựa chọn khi lần sau tìm kiếm",
        "search-external": "Tìm kiếm từ bên ngoài",
        "searchdisabled": "Chức năng tìm kiếm tại {{SITENAME}} đã bị tắt. Bạn có tìm kiếm bằng Google trong thời gian này. Chú ý rằng các chỉ mục từ {{SITENAME}} của chúng có thể đã lỗi thời.",
        "search-error": "Đã xuất hiện lỗi khi tìm kiếm: $1",
        "allowemail": "Nhận thư điện tử từ các thành viên khác",
        "prefs-searchoptions": "Tìm kiếm",
        "prefs-namespaces": "Không gian tên",
-       "defaultns": "Nếu không thì tìm trong không gian sau:",
        "default": "mặc định",
        "prefs-files": "Tập tin",
        "prefs-custom-css": "sửa CSS",
index e0b3a91..e2bd5d9 100644 (file)
@@ -10,7 +10,8 @@
                        "Yfdyh000",
                        "乌拉跨氪",
                        "十弌",
-                       "아라"
+                       "아라",
+                       "Mywood"
                ]
        },
        "tog-underline": "鏈接下橫線:",
        "namespaces": "名字空间",
        "variants": "变量",
        "errorpagetitle": "錯誤",
-       "returnto": "转å\88°$1。",
+       "returnto": "è¿\94å\9b\9e$1。",
        "tagline": "从{{SITENAME}}来",
        "help": "幫忙",
        "search": "寻",
        "searchmenu-exists": "'''箇wiki里有一页名字“[[:$1]]”哉'''",
        "searchmenu-new": "'''徕箇wiki里建“[[:$1]]”页!'''",
        "searchprofile-articles": "内容页",
-       "searchprofile-project": "帮助搭项目页",
        "searchprofile-images": "多媒体",
        "searchprofile-everything": "全部",
        "searchprofile-advanced": "高级",
        "searchprofile-articles-tooltip": "徕$1里搜寻",
-       "searchprofile-project-tooltip": "徕$1里搜寻",
        "searchprofile-images-tooltip": "搜寻文件",
        "searchprofile-everything-tooltip": "搜寻全部内容(包括讨论页)",
        "searchprofile-advanced-tooltip": "垃拉自定义名字空间里向搜索",
        "search-interwiki-default": "$1项结果:",
        "search-interwiki-more": "(更多)",
        "search-relatedarticle": "相关",
-       "searcheverything-enable": "垃拉所有名字空间里向搜索",
        "searchrelated": "相关",
        "searchall": "全部",
        "showingresults": "下头显示从第<b>$2</b>条开始个<b>$1</b>条结果:",
        "prefs-files": "文件",
        "youremail": "电子信箱:",
        "username": "用户名:",
-       "uid": "用户号:",
        "yourrealname": "真名字:",
        "yourlanguage": "语言:",
        "yournick": "绰号:",
        "speciallogtitlelabel": "目標(標題要弗用戶):",
        "log": "记录",
        "allpages": "全部页面",
-       "alphaindexline": "$1到$2",
        "nextpage": "下页 ($1)",
        "prevpage": "上一页($1)",
        "allpagesfrom": "显示个页面开始于:",
        "whatlinkshere-hidelinks": "$1链接",
        "whatlinkshere-filters": "过滤器",
        "blockip": "查封用户",
-       "ipadressorusername": "IP地址或用户名:",
+       "ipaddressorusername": "IP地址或用户名:",
        "ipbreason": "理由:",
        "ipbsubmit": "封杀该个用户",
        "ipbother": "其它时间:",
        "svg-long-desc": "SVG文件,名义大小:$1×$2像素,文件大小:$3",
        "show-big-image": "完整分辨率",
        "newimages": "新文件陈列室",
-       "showhidebots": "($1机器人)",
        "ilsubmit": "搜寻",
        "bad_image_list": "格式如下:\n\n只列出项目(线开始* )的审议。\n第一个环节上线必须是一个链接到一个坏文件。\n其后的任何链接在同一行被认为是例外情况,即网页的文件,则可能会发生内部。",
        "variantname-zh-tw": "台湾",
index 16c064a..5a74fc3 100644 (file)
        "category_header": "分类“$1”中的页面",
        "subcategories": "子分类",
        "category-media-header": "分类“$1”中的媒体文件",
-       "category-empty": "''本分类目前未包含页面或媒体文件。''",
+       "category-empty": "<em>本分类目前没有包含页面或媒体文件。</em>",
        "hidden-categories": "{{PLURAL:$1|隐藏分类}}",
        "hidden-category-category": "隐藏分类",
        "category-subcat-count": "{{PLURAL:$2|本分类只有以下子分类。|本分类有以下$1个子分类,共有$2个子分类。}}",
        "resetpass-temp-emailed": "您通过一个暂时电子邮件发送的代码登录。要完成登录,您必须在此设置一个新密码:",
        "resetpass-temp-password": "临时密码:",
        "resetpass-abort-generic": "密码更改已经被扩展程序中止。",
-       "resetpass-expired": "您的密码已经过期。请设置一个新的密码登录。",
-       "resetpass-expired-soft": "您的密码已过期并且需要重置。请现在选择一个新密码,或单击“{{int:resetpass-submit-cancel}}”以便稍后重置。",
+       "resetpass-expired": "你的密码已经到期。请设置新登录密码。",
+       "resetpass-expired-soft": "你的密码已经到期,需要重置。请现在更换新密码,或单击“{{int:resetpass-submit-cancel}}”以稍后重置。",
        "resetpass-validity-soft": "您的密码无效:$1\n请选择一个新密码,或单击“{{int:resetpass-submit-cancel}}”以稍后重置。",
        "passwordreset": "重置密码",
        "passwordreset-text-one": "请输入你要重置的用户名。",
        "expansion-depth-exceeded-warning": "页面超过了扩展深度",
        "parser-unstrip-loop-warning": "检测到回圈",
        "parser-unstrip-recursion-limit": "递归超过限制 ($1)",
-       "converter-manual-rule-error": "手动语言转换规则中检测到错误",
+       "converter-manual-rule-error": "手动语言转换规则中检测到错误",
        "undo-success": "该编辑可以被撤销。请检查下面的对比以核实你想要撤销的内容,然后保存下面的更改以完成撤销。",
        "undo-failure": "因存在冲突的中间编辑,本编辑不能撤销。",
        "undo-norev": "该编辑无法撤消,因为它不存在或已被删除。",
        "cantcreateaccounttitle": "无法创建账户",
        "cantcreateaccount-text": "从该IP地址('''$1''')创建账户已被[[User:$3|$3]]禁止。\n\n$3的理由是''$2''",
        "cantcreateaccount-range-text": "从该IP地址段'''$1'''的账户创建已被[[User:$3|$3]]禁止,而这也包括了您的IP地址('''$4''')。\n$3给出的原因是“$2”。",
-       "viewpagelogs": "查看页面的日志",
+       "viewpagelogs": "查看页面的日志",
        "nohistory": "本页面没有编辑历史记录。",
        "currentrev": "最后版本",
        "currentrev-asof": "$1的最后版本",
        "searchprofile-images-tooltip": "搜索文件",
        "searchprofile-everything-tooltip": "搜索所有内容(包括讨论页面)",
        "searchprofile-advanced-tooltip": "在自定义名字空间中搜索",
-       "search-result-size": "$1($2字)",
+       "search-result-size": "$1($2字)",
        "search-result-category-size": "$1个成员($2个子分类,$3个文件)",
        "search-result-score": "相关度:$1%",
        "search-redirect": "(重定向自“$1”)",
        "search-interwiki-default": "来自$1的结果:",
        "search-interwiki-more": "(更多)",
        "search-relatedarticle": "相关",
-       "searcheverything-enable": "在所有名字空间中搜索",
        "searchrelated": "相关",
        "searchall": "所有",
        "showingresults": "下面显示从第'''$2'''条结果开始的'''$1'''条结果。",
        "showingresultsinrange": "下面显示区间#<strong>$2</strong>至#<strong>$3</strong>的<strong>$1</strong>条结果。",
        "showingresultsnum": "下面显示从第'''$2'''条结果开始的'''$3'''条结果。",
-       "showingresultsheader": "关于'''$4'''的{{PLURAL:$5|第'''$1'''条结果,共'''$3'''条结果|第'''$1~$2'''条结果,共'''$3'''条结果}}",
+       "showingresultsheader": "关于<strong>$4</strong>的{{PLURAL:$5|第<strong>$1</strong>条结果,共<strong>$3</strong>条结果|第<strong>$1 - $2</strong>条结果,共<strong>$3</strong>条结果}}",
        "search-nonefound": "找不到和查询相匹配的结果。",
        "powersearch-legend": "高级搜索",
        "powersearch-ns": "搜索名字空间:",
        "powersearch-togglelabel": "选择:",
        "powersearch-toggleall": "全选",
        "powersearch-togglenone": "全不选",
+       "powersearch-remember": "记住选择用于以后搜索",
        "search-external": "外部搜索",
        "searchdisabled": "{{SITENAME}}的搜索已被禁用。您可以暂时使用搜索引擎进行搜索,须注意他们索引的{{SITENAME}}内容可能不是最新的。",
        "search-error": "搜索时发生错误:$1",
        "allowemail": "启用来自其他用户的电子邮件",
        "prefs-searchoptions": "搜索",
        "prefs-namespaces": "名字空间",
-       "defaultns": "否则在这些名字空间中搜索:",
        "default": "默认",
        "prefs-files": "文件",
        "prefs-custom-css": "自定义CSS",
        "upload-curl-error6": "无法访问URL",
        "upload-curl-error6-text": "无法访问提供的URL。请检查该URL是否正确,及其网站是否在线。",
        "upload-curl-error28": "上传超时",
-       "upload-curl-error28-text": "ç«\99ç\82¹å\93\8dåº\94æ\97¶é\97´è¿\87é\95¿ã\80\82请æ£\80æ\9f¥æ­¤ç½\91ç«\99ç\9a\84访é\97®æ\98¯å\90¦æ­£å¸¸ï¼\8cè¿\87ä¸\80ä¼\9aå\86\8dè¿\9bè¡\8cå°\9dè¯\95ã\80\82æ\82¨å\8f¯è\83½é\9c\80è¦\81å\9c¨ç½\91ç»\9c访é\97®ç©ºé\97²æ\97¶é\97´å\86\8d次è¿\9bè¡\8c尝试。",
+       "upload-curl-error28-text": "ç½\91ç«\99å\93\8dåº\94æ\97¶é\97´è¿\87é\95¿ã\80\82请æ£\80æ\9f¥ç½\91ç«\99æ\98¯å\90¦æ­£å¸¸ï¼\8c并ç¨\8då\90\8eé\87\8dè¯\95ã\80\82ä½ å\8f¯è\83½æ\83³è¦\81å\9c¨ç½\91ç»\9c空é\97²æ\97尝试。",
        "license": "授权协议:",
        "license-header": "授权协议",
        "nolicense": "未选定",
        "uncategorizedtemplates": "未归类模板",
        "unusedcategories": "未使用分类",
        "unusedimages": "未使用文件",
-       "popularpages": "热页面",
+       "popularpages": "热页面",
        "wantedcategories": "需要的分类",
        "wantedpages": "需要的页面",
        "wantedpages-badtitle": "在结果组上的无效标题:$1",
        "protectedpagesempty": "在这些参数下没有页面正在保护。",
        "protectedpages-timestamp": "时间戳",
        "protectedpages-page": "页面",
-       "protectedpages-expiry": "到期",
+       "protectedpages-expiry": "终止时间",
        "protectedpages-performer": "保护用户",
        "protectedpages-params": "保护参数",
        "protectedpages-reason": "原因",
        "listusers-editsonly": "只显示有编辑的用户",
        "listusers-creationsort": "按创建日期排序",
        "listusers-desc": "降序排序",
-       "usereditcount": "$1次编辑",
+       "usereditcount": "$1个{{PLURAL:$1|编辑}}",
        "usercreated": "{{GENDER:$3|创建}}于$1 $2",
        "newpages": "新页面",
        "newpages-username": "用户名:",
        "cachedspecial-viewing-cached-ts": "您正浏览此页的缓存版本,不一定是最新的完整版本。",
        "cachedspecial-refresh-now": "查看最新的。",
        "categories": "分类",
-       "categoriespagetext": "以下{{PLURAL:$1|分类包含}}页面或媒体文件。[[Special:UnusedCategories|未使用分类]]不显示在这里。另请见[[Special:WantedCategories|需要的分类]]。",
+       "categoriespagetext": "以下{{PLURAL:$1|分类包含}}页面或媒体文件。[[Special:UnusedCategories|未使用分类]]不在这里显示。另请见[[Special:WantedCategories|需要的分类]]。",
        "categoriesfrom": "显示分类开始于:",
        "special-categories-sort-count": "按数量排列",
        "special-categories-sort-abc": "按字母排列",
        "watchlist-details": "不计讨论页,您的监视列表中共有$1个页面。",
        "wlheader-enotif": "已启用电子邮件通知。",
        "wlheader-showupdated": "您上次访问后发生更改的页面'''加粗'''显示",
-       "wlnote2": "下面是最近{{PLURAL:$1|<strong>$1</strong>小时}}的更改,截至$2 $3。",
+       "wlnote2": "下面是过去{{PLURAL:$1|<strong>$1</strong>小时}}的更改,截至$2 $3。",
        "wlshowlast": "显示过去$1小时$2天$3",
        "watchlist-options": "监视列表选项",
        "watching": "正在监视...",
        "protect-norestrictiontypes-title": "不可保护页面",
        "protect-legend": "确认保护",
        "protectcomment": "原因:",
-       "protectexpiry": "到期:",
+       "protectexpiry": "终止时间:",
        "protect_expiry_invalid": "输入的终止时间无效。",
        "protect_expiry_old": "终止时间已过去。",
        "protect-unchain-permissions": "解锁更多保护选项",
        "protect-summary-desc": "[$1=$2]($3)",
        "protect-summary-cascade": "联锁",
        "protect-expiring": "终止于$1(UTC)",
-       "protect-expiring-local": "$1到期",
+       "protect-expiring-local": "终止于$1",
        "protect-expiry-indefinite": "无限期",
        "protect-cascade": "保护本页中包含的页面(连锁保护)",
        "protect-cantedit": "您无法更改这个页面的保护等级,因为您没有权限去编辑它。",
        "protect-othertime": "其它时间:",
        "protect-othertime-op": "其它时间",
-       "protect-existing-expiry": "ç\8e°æ\97¶å\88°æ\9c\9fä¹\8b时间:$2 $3",
+       "protect-existing-expiry": "ç\8e°æ\9c\89ç\9a\84ç»\88æ­¢时间:$2 $3",
        "protect-otherreason": "其他/附加原因:",
        "protect-otherreason-op": "其他原因",
        "protect-dropdown": "*常见保护原因\n** 过度破坏\n** 过多垃圾信息\n** 负面的编辑战\n** 高流量页面",
        "protect-edit-reasonlist": "编辑保护原因",
-       "protect-expiry-options": "1小时:1 hour,1天:1 day,1周:1 week,2周:2 weeks,1个月:1 month,3个月:3 months,6个月:6 months,1年:1 year,限期:infinite",
+       "protect-expiry-options": "1小时:1 hour,1天:1 day,1周:1 week,2周:2 weeks,1个月:1 month,3个月:3 months,6个月:6 months,1年:1 year,限期:infinite",
        "restriction-type": "权限:",
        "restriction-level": "限制级别:",
        "minimum-size": "最小尺寸",
        "blockip-legend": "封禁用户",
        "blockiptext": "使用下方的表单来禁止来自特定IP地址或用户名的写访问。\n只有在为了防止破坏,并符合[[{{MediaWiki:Policy-url}}|方针]]的情况下才可采取此行动。\n请在下面输入一个具体的理由(例如引述一个被破坏的页面)。",
        "ipaddressorusername": "IP地址或用户名:",
-       "ipbexpiry": "期限:",
+       "ipbexpiry": "终止时间:",
        "ipbreason": "原因:",
        "ipbreason-dropdown": "*常见封禁原因\n** 插入虚假信息\n** 删除页面内容\n** 添加垃圾外部链接\n** 插入无意义文字\n** 恐吓行为/骚扰\n** 滥用多个账户\n** 不能接受的用户名",
        "ipb-hardblock": "阻止登录用户使用该IP地址编辑",
        "ipbenableautoblock": "自动封禁该用户最后使用的IP地址,以及他们随后试图用于编辑的所有IP地址",
        "ipbsubmit": "封禁该用户",
        "ipbother": "其它时间:",
-       "ipboptions": "2小时:2 hours,1天:1 day,3天:3 days,1周:1 week,2周:2 weeks,1个月:1 month,3个月:3 months,6个月:6 months,1年:1 year,限期:infinite",
+       "ipboptions": "2小时:2 hours,1天:1 day,3天:3 days,1周:1 week,2周:2 weeks,1个月:1 month,3个月:3 months,6个月:6 months,1年:1 year,限期:infinite",
        "ipbhidename": "在编辑及列表中隐藏用户名",
        "ipbwatchuser": "监视该用户的用户页和讨论页",
        "ipb-disableusertalk": "阻止用户在封禁期间编辑自己的讨论页",
        "blocklist-rangeblocks": "隐藏IP段封禁",
        "blocklist-timestamp": "时间",
        "blocklist-target": "目标",
-       "blocklist-expiry": "到期",
+       "blocklist-expiry": "终止时间",
        "blocklist-by": "封禁管理员",
        "blocklist-params": "封禁范围",
        "blocklist-reason": "原因",
        "ipblocklist-localblock": "本地封禁",
        "ipblocklist-otherblocks": "其他{{PLURAL:$1|封禁}}",
        "infiniteblock": "无限期",
-       "expiringblock": "$1 $2到期",
+       "expiringblock": "终止于$1 $2",
        "anononlyblock": "仅匿名用户",
        "noautoblockblock": "自动封禁停用",
        "createaccountblock": "账户创建停用",
        "creditspage": "页面编辑名单",
        "nocredits": "本页面没有编辑名单信息。",
        "spamprotectiontitle": "垃圾链接过滤器",
-       "spamprotectiontext": "您要保存的文本被垃圾过滤器阻止。\n这可能是由于一个链往匹配黑名单的外部站点的链接引起的。",
+       "spamprotectiontext": "您要保存的文字被垃圾信息过滤器拦截。这可能是由黑名单内外部网站链接引发的。",
        "spamprotectionmatch": "以下文本触发了我们的垃圾链接过滤器:$1",
        "spambot_username": "MediaWiki垃圾链接清理器",
        "spam_reverting": "恢复至不包含$1的链接的最后版本",
        "confirmemail_sent": "确认邮件已发送。",
        "confirmemail_oncreate": "一个确认代码已被发送到您的邮箱。登录时无需使用该代码,但若要启用在此wiki上的电子邮件相关功能,则必须先提交此代码。",
        "confirmemail_sendfailed": "{{SITENAME}}不能发送确认邮件,请检查您的邮箱地址是否包含无效字符。\n\n邮件发送器的返回信息:$1",
-       "confirmemail_invalid": "无效的确认码,该代码可能已经过期。",
+       "confirmemail_invalid": "无效的确认码。该确认码可能已经到期。",
        "confirmemail_needlogin": "请$1以确认您的电子邮件地址。",
        "confirmemail_success": "您的邮箱已经被确认。您现在可以[[Special:UserLogin|登录]]并使用此网站了。",
        "confirmemail_loggedin": "你的电子邮件地址现在已经确认。",
        "imgmultipageprev": "← 上一页",
        "imgmultipagenext": "下一页 →",
        "imgmultigo": "提交!",
-       "imgmultigoto": "å\88°第$1页",
+       "imgmultigoto": "å\89\8då¾\80第$1页",
        "img-lang-default": "(默认语言)",
-       "img-lang-info": "在$1找到此图像。$2",
-       "img-lang-go": "",
+       "img-lang-info": "以$1生成本图像。$2",
+       "img-lang-go": "提交",
        "ascending_abbrev": "升",
        "descending_abbrev": "降",
        "table_pager_next": "下一页",
        "version-ext-colheader-credits": "作者",
        "version-license-title": "$1的许可协议",
        "version-license-not-found": "没有找到与此拓展相关的授权信息。",
-       "version-credits-title": "用于$1的信用",
+       "version-credits-title": "$1贡献者名单",
        "version-credits-not-found": "没有找到与此拓展相关的信用信息。",
        "version-poweredby-credits": "本Wiki由'''[https://www.mediawiki.org/ MediaWiki]'''驱动,版权所有 © 2001-$1 $2。",
        "version-poweredby-others": "其他",
index e8f81aa..2d92a3c 100644 (file)
        "search-interwiki-default": "來自 $1 的結果:",
        "search-interwiki-more": "(更多)",
        "search-relatedarticle": "相關",
-       "searcheverything-enable": "搜尋所有命名空間",
        "searchrelated": "相關",
        "searchall": "全部",
        "showingresults": "以下顯示從第 <strong>$2</strong> 筆開始,共 {{PLURAL:$1|<strong>1</strong> 筆結果|<strong>$1</strong> 筆結果}}:",
        "powersearch-togglelabel": "請選擇:",
        "powersearch-toggleall": "全部",
        "powersearch-togglenone": "無",
+       "powersearch-remember": "記住選項用於以後搜索",
        "search-external": "外部搜尋",
        "searchdisabled": "{{SITENAME}} 已停用搜尋功能。\n您可以改透過 Google 搜尋。\n請注意,在 Google 中搜尋到的 {{SITENAME}} 頁面內容可能不是最新的。",
        "search-error": "搜尋時發生錯誤:$1",
        "allowemail": "啟用來自其他使用者的郵件通知功能",
        "prefs-searchoptions": "搜尋",
        "prefs-namespaces": "命名空間",
-       "defaultns": "或搜尋命名空間:",
        "default": "預設",
        "prefs-files": "檔案",
        "prefs-custom-css": "自訂 CSS",
        "ipbreason": "原因:",
        "ipbreason-dropdown": "*常見的封鎖原因\n** 填寫不實資訊\n** 刪除頁面內容\n** 散佈外部廣告連結\n** 在頁面填寫無意義文字\n** 無禮的行為、攻擊/騷擾別人\n** 濫用多個帳號\n** 使用不受歡迎的使用者名稱",
        "ipb-hardblock": "避免使用此 IP 位址登入的使用者編輯",
-       "ipbcreateaccount": "阻止創建新賬號",
-       "ipbemailban": "避免使用者發送電子郵件",
+       "ipbcreateaccount": "禁止建立帳號",
+       "ipbemailban": "禁止使用者發送電子郵件",
        "ipbenableautoblock": "自動封鎖此使用者最後使用的 IP 位置,以及所有之後嘗試編輯使用的 IP 位址",
        "ipbsubmit": "查封該地址",
        "ipbother": "其它時間:",
        "ipb-disableusertalk": "避免在封鎖此使用者的期間編輯自己的對話頁面",
        "ipb-change-block": "使用現有設定重新封鎖使用者",
        "ipb-confirm": "確認封鎖",
-       "badipaddress": "無效IP地址",
+       "badipaddress": "無效的 IP 位址",
        "blockipsuccesssub": "封鎖成功",
        "blockipsuccesstext": "[[Special:Contributions/$1|$1]] 已經被封鎖。<br />\n請參考 [[Special:BlockList|封鎖清單]] 以檢查目前的封鎖。",
        "ipb-blockingself": "您要封鎖自己!您確定要這樣做嗎?",
        "unblock-hideuser": "由於此使用者名稱已被設為隱藏,您無法解除封鎖這個使用者。",
        "ipb_cant_unblock": "錯誤:查無封鎖 ID $1,可能已被解除封鎖。",
        "ipb_blocked_as_range": "錯誤:IP 位址 $1 並不是直接被封鎖,因此無法直接解除封鎖。\n此 IP 位址在 $2 的封鎖範圍之中,您可以解決此範圍的封鎖。",
-       "ip_range_invalid": "無效的IP範圍。",
+       "ip_range_invalid": "無效的 IP 範圍。",
        "ip_range_toolarge": "不允許封鎖範圍大於 /$1。",
        "proxyblocker": "代理封鎖器",
        "proxyblockreason": "因您的 IP 位址是開放代理伺服器,已被封鎖。\n請聯繫您的網路服務供應商或您所在組織的技術支援,告知他們此嚴重的安全性問題。",
        "cant-see-hidden-user": "您欲封鎖的使用者已經被封鎖並且隱藏。\n您沒有隱藏使用者的權限,您無法檢視或編輯該使用者的封鎖狀態。",
        "ipbblocked": "因您已被封鎖,故無法封鎖或解除封鎖其他使用者。",
        "ipbnounblockself": "不允許解除封鎖自己。",
-       "lockdb": "禁止更改資料庫",
-       "unlockdb": "開放更改資料庫",
+       "lockdb": "鎖定資料庫",
+       "unlockdb": "解除鎖定資料庫",
        "lockdbtext": "鎖定資料庫將會中止所有使用者編輯頁面、更改偏好設定、編輯監視清單與其他需要更動到資料庫的操作。\n請確認您是否要這樣做,並在維護作業結束時解除資料庫的鎖定。",
-       "unlockdbtext": "取消鎖定資料庫會恢復所有使用者編輯頁面、更改偏好設定、編輯監視清單與其他需要更動到資料庫的操作。\n請確認您是否要這樣做。",
-       "lockconfirm": "是的,我確實想要封鎖資料庫。",
-       "unlockconfirm": "是的,我確實想要開放資料庫。",
-       "lockbtn": "資料庫上鎖",
-       "unlockbtn": "開放資料庫",
-       "locknoconfirm": "您並沒有勾選確認按鈕。",
-       "lockdbsuccesssub": "資料庫成功上鎖",
-       "unlockdbsuccesssub": "資料庫開放",
-       "lockdbsuccesstext": "{{SITENAME}}資料庫已經上鎖。\n<br />請記住在維護完成後重新開放資料庫。",
-       "unlockdbsuccesstext": "{{SITENAME}}資料庫重新開放。",
-       "lockfilenotwritable": "資料庫鎖定檔案不可寫入。要鎖定和解鎖資料庫,該檔案必須對網路伺服器可寫入。",
-       "databasenotlocked": "資料庫沒有鎖定。",
-       "lockedbyandtime": "在$2的$3由$1",
-       "move-page": "移動$1",
+       "unlockdbtext": "解除鎖定資料庫會恢復所有使用者編輯頁面、更改偏好設定、編輯監視清單與其他需要更動到資料庫的操作。\n請確認您是否要這樣做。",
+       "lockconfirm": "是的,我想要鎖定資料庫。",
+       "unlockconfirm": "是的,我想要解除鎖定資料庫。",
+       "lockbtn": "鎖定資料庫",
+       "unlockbtn": "解除鎖定資料庫",
+       "locknoconfirm": "您未勾選確認核選方塊。",
+       "lockdbsuccesssub": "已成功鎖定資料庫",
+       "unlockdbsuccesssub": "已移除資料庫鎖定",
+       "lockdbsuccesstext": "已鎖定資料庫。<br />\n請記得在維護完成後 [[Special:UnlockDB|解除鎖定]] 資料庫。",
+       "unlockdbsuccesstext": "已解除鎖定資料庫。",
+       "lockfilenotwritable": "沒有權限寫入資料庫鎖定檔案。\n網頁伺服器需要該檔案的寫入權限以鎖定和解除鎖定資料庫。",
+       "databasenotlocked": "資料庫尚未鎖定。",
+       "lockedbyandtime": "(由 {{GENDER:$1|$1}} 於 $2 的 $3)",
+       "move-page": "移動 $1",
        "move-page-legend": "移動頁面",
        "movepagetext": "使用以下表單來重新命名一個頁面的名稱,並將所有頁面的歷史記錄一併移至新的頁面,\n舊標題的頁面將會變成重新導向頁面,導向至使用新標題的頁面。\n您可以選擇自動更新將所有導向至舊頁面的重新導向頁面改導向到新的頁面,\n若您選擇不使用自動更新,請記得檢查 [[Special:DoubleRedirects|雙重的重新導向頁面]] 或 [[Special:BrokenRedirects|損壞的重新導向頁面]],\n您有責任讓連結維持有效並且能夠繼續連結到正確的新頁面。\n\n請注意,若新的頁面名稱已經被使用,則此頁面將<strong>不會</strong>被移動,除非新名稱存在的是重新導向頁面且沒有任何的編修記錄。\n這個意思指的是,您可將因失誤而移動至其他名稱的頁面復原為舊的名稱,並且您不可以覆蓋任何已存在的頁面。\n\n<strong>警告!</strong>\n這個動作對受歡迎的頁面可能是一個重大與唐突的更改;\n請在行動前確認您已了解可能帶來後果。",
        "movepagetext-noredirectfixer": "使用以下表單來重新命名一個頁面的名稱,並將所有頁面的歷史記錄一併移至新的頁面,\n舊標題的頁面將會變成重新導向頁面,導向至使用新標題的頁面。\n請記得檢查 [[Special:DoubleRedirects|雙重導向頁面]] 或 [[Special:BrokenRedirects|中斷的導向頁面]],\n您有責任讓連結維持有效並且能夠繼續連結到正確的新頁面。\n\n請注意,若新的頁面名稱已經被使用,則此頁面將<strong>不會</strong>被移動,除非新名稱存在的是重新導向頁面且沒有任何的編修記錄。\n這個意思指的是,您可將因失誤而移動至其他名稱的頁面復原為舊的名稱,並且您不可以覆蓋任何已存在的頁面。\n\n<strong>警告!</strong>\n這個動作對受歡迎的頁面可能是一個重大與唐突的更改;\n請在行動前確認您已了解可能帶來後果。",
        "movepagetalktext": "相關的的對話頁面 (如果有的話) 會自動與該頁面一起移動,<strong>除非:</strong>\n*新的名稱已有一個存在的對話頁面,或\n*您未勾選此核選方塊。\n\n在上述情況下,若有必要您必須手動移動或合併已存在的頁面。",
-       "movearticle": "移動頁面:",
-       "moveuserpage-warning": "<strong>警告:</strong> 您正要移動使用者頁面,請注意只有使用者頁面會變更名稱,並<em>不會</em>重新命名使用者。",
-       "movecategorypage-warning": "<strong>警告:</strong>您將要移動分類頁面。請注意此操作只頁面,舊分類中的頁面將<em>不會</em>移動到新的分類。",
+       "movearticle": "移動頁面",
+       "moveuserpage-warning": "<strong>警告:</strong>您正要移動使用者頁面,請注意只有使用者頁面會變更名稱,並<em>不會</em>重新命名使用者。",
+       "movecategorypage-warning": "<strong>警告:</strong>您正要移動分類頁面。請注意此操作只會移動頁面,在舊分類中的頁面將<em>不會</em>移動到新的分類。",
        "movenologintext": "您必須是已註冊的使用者並且 [[Special:UserLogin|登入]] 才可移動頁面。",
        "movenotallowed": "您沒有權限移動頁面。",
        "movenotallowedfile": "您沒有權限移動檔案。",
        "movepage-moved": "<strong>已移動 \"$1\" 至 \"$2\"</strong>",
        "movepage-moved-redirect": "已建立重新導向頁面。",
        "movepage-moved-noredirect": "已禁止建立重新導向頁面。",
-       "articleexists": "該名字的頁面已經存在,或者您選擇的名字無效。請再選一個名字。",
-       "cantmove-titleprotected": "您不可以移動這個頁面到這個位置,因為該新標題已經被保護以防止建立。",
+       "articleexists": "該頁面名稱已存在,或您選擇的名稱無效。\n請改選擇其他名稱。",
+       "cantmove-titleprotected": "您選擇的新標題已被禁止使用,您不可移動頁面到該位置。",
        "movetalk": "移動相關的對話頁面",
        "move-subpages": "移動子頁面 (共 $1 頁)",
        "move-talk-subpages": "移動對話頁面的子頁面 (共 $1 頁)",
-       "movepage-page-exists": "頁面 $1 已經存在,不可以自動地覆寫。",
-       "movepage-page-moved": "頁面 $1 已經移動到 $2。",
-       "movepage-page-unmoved": "頁面 $1 不可以移動到 $2。",
-       "movepage-max-pages": "最多有$1個頁面已經移動同時不可以自動地再移動更多。",
+       "movepage-page-exists": "頁面 $1 已存在,無法自動覆蓋。",
+       "movepage-page-moved": "已移動頁面 $1 到 $2。",
+       "movepage-page-unmoved": "無法移動頁面 $1 到 $2。",
+       "movepage-max-pages": "移動頁面的上限為 $1 頁,超出限制的頁面將不會自動移動。",
        "movelogpage": "移動日誌",
-       "movelogpagetext": "以下是所有移動的頁面清單:",
+       "movelogpagetext": "以下是所有移動頁面的動作記錄清單。",
        "movesubpage": "{{PLURAL:$1|子頁面}}",
-       "movesubpagetext": "這個頁面有$1個子頁面列示如下。",
-       "movenosubpage": "這個頁面沒有子頁面。",
+       "movesubpagetext": "此頁面有 $1 個子頁面如下所示。",
+       "movenosubpage": "此頁面沒有任何子頁面。",
        "movereason": "原因",
        "revertmove": "還原",
        "delete_and_move": "刪除並移動",
-       "delete_and_move_text": "==需要刪除==\n\n目標頁面\"[[:$1]]\"已經存在。{{GENDER:|你|妳|你}}確認需要刪除原頁面並以進行移動嗎?",
-       "delete_and_move_confirm": "是的,刪除頁面",
-       "delete_and_move_reason": "å\88ªé\99¤ä»¥ä¾¿ç§»å\8b\95[[$1]]",
-       "selfmove": "原始標題與目標標題相同,您不能移動一頁覆蓋本身。",
+       "delete_and_move_text": "== 需要刪除 ==\n目標頁面 \"[[:$1]]\" 已存在。\n您是否要刪除該頁面以完成移動?",
+       "delete_and_move_confirm": "是的,刪除頁面",
+       "delete_and_move_reason": "å·²å\88ªé\99¤è®\93ä¾\86è\87ª [[$1]] é \81é\9d¢å\8f¯ç§»å\8b\95",
+       "selfmove": "原始標題與目標標題相同,\n無法移動頁面至自己。",
        "immobile-source-namespace": "無法移動在命名空間 \"$1\" 中的頁面",
-       "immobile-target-namespace": "不可以將頁面移動到「$1」空間名中",
-       "immobile-target-namespace-iw": "Interwiki 連結在移動頁面中是無效的目標。",
-       "immobile-source-page": "這個頁面不能移動。",
-       "immobile-target-page": "無法移動至目標標題。",
-       "bad-target-model": "æ\89\80é\9c\80ç\9a\84ç\9b®ç\9a\84å\9c°ä½¿ç\94¨ä¸\8då\90\8cç\9a\84å\85§å®¹æ¨¡å¼\8fã\80\82ä¸\8då\8f¯ä»¥å¾\9e$1è½\89æ\8f\9bå\88° $2 。",
+       "immobile-target-namespace": "無法移動頁面至命名空間 \"$1\"",
+       "immobile-target-namespace-iw": "移動頁面不可使用 Interwiki 連結做為目標。",
+       "immobile-source-page": "此頁面無法移動。",
+       "immobile-target-page": "無法移動至目標標題。",
+       "bad-target-model": "æ\8c\87å®\9aç\9a\84ç\9b®æ¨\99å\9c°ä½¿ç\94¨ä¸\8då\90\8cç\9a\84å\85§å®¹æ¨¡å\9e\8bã\80\82ç\84¡æ³\95è½\89æ\8f\9b $1 ç\82º $2。",
        "imagenocrossnamespace": "不可以移動檔案到非檔案命名空間",
        "nonfile-cannot-move-to-file": "不可以移動非檔案到檔案命名空間",
-       "imagetypemismatch": "該新副檔名不匹配它的類型",
-       "imageinvalidfilename": "目標檔案名稱是無效的",
-       "fix-double-redirects": "更新導向到原標題的任何重新導向頁面",
-       "move-leave-redirect": "ç\95\99ä¸\8bé\87\8dæ\96°å®\9aå\90\91",
+       "imagetypemismatch": "新的檔案副檔名不符合該檔案的類型",
+       "imageinvalidfilename": "目標檔案名稱無效",
+       "fix-double-redirects": "更新導向到原標題的所有重新導向頁面",
+       "move-leave-redirect": "ç\95\99ä¸\8bé\87\8dæ\96°å°\8eå\90\91é \81é\9d¢",
        "protectedpagemovewarning": "<strong>警告:</strong>本頁已經被保護,只有擁有管理員權限的使用者才可移動。\n以下提供最近的日誌以便參考:",
        "semiprotectedpagemovewarning": "<strong>注意:</strong>本頁已經被保護,只有已註冊的使用者才可移動。\n以下提供最近的日誌以便參考:",
-       "move-over-sharedrepo": "== 檔案已存在 ==\n[[:$1]]已於共享資源存在,將檔案移動到此標題會覆蓋共享資源中的檔案。",
-       "file-exists-sharedrepo": "同名檔案已於共享資源存在。\n請選擇另一個檔案名。",
+       "move-over-sharedrepo": "== 檔案已存在 ==\n[[:$1]] 已存在於共用檔案庫,將檔案移動到此標題會覆蓋該共用檔案。",
+       "file-exists-sharedrepo": "選擇的檔案名稱於共用檔案庫已有其他檔案使用。\n請改選擇其他名稱。",
        "export": "匯出頁面",
-       "exporttext": "æ\82¨å\8f¯ä»¥å°\87ç\89¹å®\9aé \81é\9d¢æ\88\96ä¸\80çµ\84é \81é\9d¢ç\9a\84æ\96\87å­\97以å\8f\8a編輯歷å\8f²ä»¥XMLæ ¼å¼\8få\8c¯å\87ºï¼\9bé\80\99樣å\8f¯ä»¥å°\87æ\9c\89é\97\9cé \81é\9d¢é\80\8fé\81\8eã\80\8c[[Special:Import|å\8c¯å\85¥é \81é\9d¢]]ã\80\8dé \81é\9d¢å\8c¯å\85¥å\88°å\8f¦ä¸\80å\80\8bå\9f·è¡\8cMediaWikiç\9a\84網ç«\99ã\80\82\n\nè¦\81å\8c¯å\87ºé \81é\9d¢ï¼\8cè«\8bå\9c¨ä¸\8bé\9d¢ç\9a\84æ\96\87å­\97æ¡\86中輸å\85¥é \81é\9d¢æ¨\99é¡\8cï¼\8cæ¯\8fè¡\8cä¸\80å\80\8bæ¨\99é¡\8cï¼\8c並é\81¸æ\93\87{{GENDER:|ä½ |妳|ä½ }}æ\98¯å\90¦é\9c\80è¦\81å\8c¯å\87ºå¸¶æ\9c\89é \81é\9d¢æ­·å\8f²ç\9a\84以å\89\8dç\9a\84ä¿®è¨\82ç\89\88æ\9c¬ï¼\8cæ\88\96æ\98¯å\8fªé\81¸æ\93\87å\8c¯å\87ºå¸¶æ\9c\89æ\9c\80å¾\8cä¸\80次編輯è¨\8aæ\81¯ç\9a\84ç\9b®å\89\8dä¿®è¨\82ç\89\88æ\9c¬ã\80\82\n\næ­¤å¤\96{{GENDER:|ä½ |妳|ä½ }}é\82\84å\8f¯ä»¥å\88©ç\94¨é\80£çµ\90å\8c¯å\87ºæª\94æ¡\88ï¼\8cä¾\8bå¦\82{{GENDER:|ä½ |妳|ä½ }}å\8f¯ä»¥ä½¿ç\94¨[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]å\8c¯å\87ºã\80\8c[[{{MediaWiki:Mainpage}}]]ã\80\8dé \81é\9d¢。",
-       "exportall": "å°\8e出所有頁面",
-       "exportcuronly": "å\8fªå°\8eå\87ºç\95¶å\89\8dç\89\88æ\9c¬ï¼\8cä¸\8då\90«å®\8cæ\95´æ­·å\8f²ç\89\88æ\9c¬",
-       "exportnohistory": "----\n'''注意:''' 由於性能原因,從此表單匯出頁面的全部歷史已被停用。",
-       "exportlistauthors": "為每個頁面包含貢獻者的完整列表",
+       "exporttext": "æ\82¨å\8f¯ä»¥å\8c¯å\87ºæ\8c\87å®\9aé \81é\9d¢æ\88\96å¤\9aé \81ç\9a\84æ\96\87å­\97è\88\87編輯歷å\8f²ï¼\8c使ç\94¨ XML æ ¼å¼\8få\8c\85è£\9dã\80\82\né\80\99äº\9bæª\94æ¡\88å\8f¯ä»¥å\8c¯å\85¥è\87³å\85¶ä»\96使ç\94¨ MediaWiki ç\9a\84 Wikiï¼\8cé\80\8fé\81\8e [[Special:Import|å\8c¯å\85¥é \81é\9d¢]]ã\80\82\n\nè¦\81å\8c¯å\87ºé \81é\9d¢ï¼\8cè«\8bå\9c¨ä¸\8bæ\96¹æ\96\87å­\97æ\96¹å¡\8a中輸å\85¥é \81é\9d¢æ¨\99é¡\8cï¼\8cä¸\80å\80\8bæ¨\99é¡\8c使ç\94¨ä¸\80è¡\8cï¼\8c並é\81¸æ\93\87æ\98¯å\90¦è¦\81å\8c¯å\87ºç\9b®å\89\8dç\9a\84ä¿®è¨\82å\90«æ\89\80æ\9c\89ç\9a\84æ­·å\8f²ä¿®è¨\82è¨\98é\8c\84ï¼\8cæ\88\96è\80\85å\8fªå\8c¯å\87ºç\9b®å\89\8dç\9a\84ä¿®è¨\82è\88\87æ\9c\80å¾\8c編輯ç\9a\84è³\87è¨\8aã\80\82\n\nå\9c¨æ\96\87å­\97æ\96¹å¡\8a中æ\82¨ä¹\9få\8f¯ä½¿ç\94¨é\80£çµ\90ï¼\8cå¦\82ï¼\9a[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] ä»£è¡¨å\8c¯å\87ºé \81é\9d¢ \"[[{{MediaWiki:Mainpage}}]]\"。",
+       "exportall": "å\8c¯出所有頁面",
+       "exportcuronly": "å\8fªå\8c\85å\90«ç\9b®å\89\8dä¿®è¨\82ï¼\8cä¸\8då\8c\85å\90«å®\8cæ\95´ç\9a\84ä¿®è¨\82æ­·å\8f²",
+       "exportnohistory": "----\n<strong>注意:</strong>因避免伺服器效能問題,已停用匯出頁面的所有歷史記錄。",
+       "exportlistauthors": "包含每個頁面完整的貢獻人員清單",
        "export-submit": "匯出",
-       "export-addcattext": "由分類中加入頁面:",
+       "export-addcattext": "使用分類新增頁面:",
        "export-addcat": "新增",
-       "export-addnstext": "由命名空間加入頁面:",
+       "export-addnstext": "使用命名空間新增頁面:",
        "export-addns": "新增",
-       "export-download": "å\8f¦存為檔案",
+       "export-download": "å\84²存為檔案",
        "export-templates": "包含樣版",
-       "export-pagelinks": "包含到這個深度連結之頁面:",
-       "allmessages": "系統界面",
+       "export-pagelinks": "包含連結的頁面深度:",
+       "allmessages": "系統訊息",
        "allmessagesname": "名稱",
        "allmessagesdefault": "預設的訊息文字",
-       "allmessagescurrent": "ç\8f¾æ\99\82的訊息文字",
+       "allmessagescurrent": "ç\9b®å\89\8d的訊息文字",
        "allmessagestext": "此處列出所有在 MediaWiki 命名空間中系統訊息。\n若您想參與官方的 MediaWiki 在地化,請參考 [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation MediaWiki 在地化] 與 [//translatewiki.net translatewiki.net]。",
-       "allmessagesnotsupportedDB": "這個頁面無法使用,因為'''$wgUseDatabaseMessages'''已被設定關閉。",
+       "allmessagesnotsupportedDB": "已停用 <strong>$wgUseDatabaseMessages</strong> 設定,無法使用此頁面。",
        "allmessages-filter-legend": "搜尋",
-       "allmessages-filter": "以è\87ªå®\9aç\8b\80æ³\81é\81\8e濾:",
+       "allmessages-filter": "ä¾\9dä¿®æ\94¹ç\8b\80æ³\81æ\90\9cå°\8b:",
        "allmessages-filter-unmodified": "未修改",
        "allmessages-filter-all": "全部",
-       "allmessages-filter-modified": "修改",
-       "allmessages-prefix": "以字首搜尋:",
+       "allmessages-filter-modified": "修改",
+       "allmessages-prefix": "ä¾\9d字首搜尋:",
        "allmessages-language": "語言:",
        "allmessages-filter-submit": "執行",
        "allmessages-filter-translate": "翻譯",
        "thumbnail-more": "放大",
-       "filemissing": "無法找到檔案",
-       "thumbnail_error": "建立縮圖錯誤$1",
-       "thumbnail_error_remote": "$1發出的電子郵件:\n$2",
-       "djvu_page_error": "DjVu頁面超出範圍",
-       "djvu_no_xml": "無法在DjVu檔案中擷取XML",
+       "filemissing": "檔案遺失",
+       "thumbnail_error": "建立縮圖錯誤$1",
+       "thumbnail_error_remote": "來自 $1 錯誤訊息:\n$2",
+       "djvu_page_error": "DjVu 頁面超出範圍",
+       "djvu_no_xml": "無法在 DjVu 檔案中擷取 XML",
        "thumbnail-temp-create": "無法建立臨時縮圖檔案",
-       "thumbnail-dest-create": "ç\84¡æ³\95å°\87縮ç\95¥å\9c\96ä¿\9då­\98å\88°ç\9b®æ¨\99å\9c°é»\9e",
-       "thumbnail_invalid_params": "不正確的縮圖參數",
+       "thumbnail-dest-create": "ç\84¡æ³\95å\84²å­\98縮å\9c\96è\87³ç\9b®æ¨\99",
+       "thumbnail_invalid_params": "無效的縮圖參數",
        "thumbnail_dest_directory": "無法建立目標目錄",
-       "thumbnail_image-type": "圖片類型不支援",
-       "thumbnail_gd-library": "未完成的GD設定: 功能遺失 $1",
-       "thumbnail_image-missing": "檔案似乎遺失: $1",
-       "thumbnail_image-failure-limit": "æ\96°è¿\91å\98\97試ç\94\9fæ\88\90此縮ç\95¥å\9c\96失æ\95\97太å¤\9aï¼\88$1次æ\88\96以ä¸\8aï¼\89ã\80\82請稍後再試。",
+       "thumbnail_image-type": "不支援的圖片類型",
+       "thumbnail_gd-library": "未完成 GD 設定:缺少函數 $1",
+       "thumbnail_image-missing": "檔案遺失:$1",
+       "thumbnail_image-failure-limit": "æ\9c\80è¿\91顯示此縮å\9c\96å·²ç\99¼ç\94\9f太å¤\9a次失æ\95\97 ($1 æ¬¡æ\88\96æ\9b´å¤\9a)ï¼\8c請稍後再試。",
        "import": "匯入頁面",
        "importinterwiki": "Transwiki 匯入",
        "import-interwiki-text": "請選擇一個 Wiki 與頁面標題以進行匯入。\n會同時記錄修訂日期和編輯者的名稱。\n所有的 Transwiki 匯入操作會被記錄在 [[Special:Log/import|匯入日誌]]。",
-       "import-interwiki-source": "來源維基/頁面:",
-       "import-interwiki-history": "複製此頁的所有歷史修訂版本",
+       "import-interwiki-source": "來源 Wiki/頁面:",
+       "import-interwiki-history": "複製此頁的所有歷史修訂",
        "import-interwiki-templates": "包含所有樣版",
        "import-interwiki-submit": "匯入",
        "import-interwiki-namespace": "目標命名空間:",
-       "import-interwiki-rootpage": "目標根頁(可選):",
+       "import-interwiki-rootpage": "目標根頁面 (選填):",
        "import-upload-filename": "檔案名稱:",
-       "import-comment": "註解:",
-       "importtext": "請使用[[Special:Export|匯出功能]]從來源維基匯出檔案,\n儲存到您的電腦中並上傳到這裡。",
+       "import-comment": "è©\95è«\96ï¼\9a",
+       "importtext": "請使用 [[Special:Export|匯出工具]] 從來源 Wiki 匯出檔案,\n儲存至您的電腦後再上傳到這裡。",
        "importstart": "正在匯入頁面...",
-       "import-revision-count": "$1個修訂",
+       "import-revision-count": "$1 個修訂",
        "importnopages": "沒有匯入的頁面。",
-       "imported-log-entries": "å\8c¯å\85¥äº\86$1é \85æ\97¥èª\8cè¨\98é\8c\84。",
-       "importfailed": "匯入失敗<nowiki>$1</nowiki>",
-       "importunknownsource": "未知的源匯入類型",
-       "importcantopen": "無法打開匯入檔案",
-       "importbadinterwiki": "損壞的 Interwiki 連結",
+       "imported-log-entries": "å·²å\8c¯å\85¥ $1 ç­\86æ\97¥èª\8cé \85ç\9b®。",
+       "importfailed": "匯入失敗<nowiki>$1</nowiki>",
+       "importunknownsource": "不明的來源匯入類型",
+       "importcantopen": "無法開啟匯入檔案",
+       "importbadinterwiki": "無效的 Interwiki 連結",
        "importsuccess": "匯入完成!",
        "importnosources": "未定義任何 Transwiki 匯入來源且已關閉使用歷史記錄上傳功能。",
-       "importnofile": "æ²\92æ\9c\89上傳匯入檔案。",
-       "importuploaderrorsize": "上載匯入檔案失敗。檔案大於可以允許的上傳大小。",
-       "importuploaderrorpartial": "上載匯入檔案失敗。檔案只有部份已經上傳。",
-       "importuploaderrortemp": "上載匯入檔案失敗。臨時資料夾已遺失。",
-       "import-parse-failure": "XML匯入語法失敗",
-       "import-noarticle": "沒有頁面作匯入!",
-       "import-nonewrevisions": "並無修訂導入(全數已存在,或出錯而跳過)。",
+       "importnofile": "æ\9cª上傳匯入檔案。",
+       "importuploaderrorsize": "上載匯入檔案失敗。\n檔案大小超過允許上傳大小。",
+       "importuploaderrorpartial": "上載匯入檔案失敗。\n僅上傳部份檔案。",
+       "importuploaderrortemp": "上載匯入檔案失敗。\n遺失臨時資料夾。",
+       "import-parse-failure": "XML 匯入分析失敗",
+       "import-noarticle": "沒有任何可匯入的頁面!",
+       "import-nonewrevisions": "未匯入任何修訂 (修訂已存在,或因錯誤跳過)。",
        "xml-error-string": "$1 於行 $2,欄 $3 ($4 位元組):$5",
-       "import-upload": "上傳XML資料",
-       "import-token-mismatch": "小節資料遺失。請再嘗試。",
-       "import-invalid-interwiki": "ä¸\8dè\83½å\9c¨æ\8c\87å®\9aç\9a\84wiki匯入。",
-       "import-error-edit": "「$1」無法導入,因為您不准編輯它。",
-       "import-error-create": "您沒有建立頁面的權限,無法匯入頁面 \"$1\"。",
-       "import-error-interwiki": "頁面\"$1\"未能導入,這是因為他的頁面名稱預留了供跨維基連結( Interwiki)使用。",
-       "import-error-special": "無法匯入頁面 \"$1\",匯入的頁面屬於不允許頁面的特殊命名空間。",
-       "import-error-invalid": "「$1」不能導入,因為名字無效。",
-       "import-error-unserialize": "頁面「$1」的修訂版本「$2」不能反序列。該修訂版本是以$3內容模式序列為$4。",
-       "import-error-bad-location": "æ\96¼æ­¤wiki使ç\94¨ç\9a\84å\85§å®¹æ¨¡å¼\8f$3ç\9a\84ä¿®è¨\82ç\89\88æ\9c¬$2並ç\84¡å\8f¯è\83½å­\98å\84²ç\82ºã\80\8c$1ã\80\8dï¼\8cé\80\99æ\98¯å\9b ç\82ºæ­¤ç¨®æ¨¡å¼\8fæ\96¼è©²é \81é\9d¢ç\84¡æ³\95æ\94¯æ\8f´。",
-       "import-options-wrong": "{{PLURAL:$2|選項}}出錯:<nowiki>$1</nowiki>",
-       "import-rootpage-invalid": "指定的根頁標題無效。",
+       "import-upload": "上傳 XML 資料",
+       "import-token-mismatch": "連線階段資料遺失。\n請再試一次。",
+       "import-invalid-interwiki": "ä¸\8dè\83½å¾\9eæ\8c\87å®\9aç\9a\84 Wiki 匯入。",
+       "import-error-edit": "您沒有權限編輯頁面 \"$1\",無法匯入。",
+       "import-error-create": "您沒有權限建立頁面 \"$1\",無法匯入。",
+       "import-error-interwiki": "頁面 \"$1\" 的名稱已保留作為外部連結 (Interwiki) 使用,無法匯入。",
+       "import-error-special": "頁面 \"$1\" 屬於不允許頁面的特殊命名空間,無法匯入。",
+       "import-error-invalid": "頁面 \"$1\" 名稱無效,無法匯入。",
+       "import-error-unserialize": "頁面 \"$1\" 的修訂 $2 無法反序列反。 此修訂使用 $3 內容模型以 $4 的方式序列化。",
+       "import-error-bad-location": "æ­¤ Wiki ç\9a\84é \81é\9d¢ \"$1\" ä¸\8dæ\94¯æ\8f´ä½¿ç\94¨å\85§å®¹æ¨¡å\9e\8b $3ï¼\8cä¿®è¨\82 $2 ç\84¡æ³\95å\84²å­\98è\87³è©²é \81é\9d¢ 。",
+       "import-options-wrong": "{{PLURAL:$2|選項}}錯誤:<nowiki>$1</nowiki>",
+       "import-rootpage-invalid": "指定的根頁標題無效。",
        "import-rootpage-nosubpage": "命名空間 \"$1\" 的根頁面不允許子頁面。",
        "importlogpage": "匯入日誌",
-       "importlogpagetext": "來自其它 wiki 的行政性的帶編輯歷史匯入頁面。",
-       "import-logentry-upload": "透過檔案上傳匯入 $1",
+       "importlogpagetext": "管理性匯入其他 Wiki 的頁面及編輯歷史記錄。",
+       "import-logentry-upload": "使用檔案上傳匯入 [[$1]]",
        "import-logentry-upload-detail": "$1 個修訂",
        "import-logentry-interwiki": "Transwiki 頁面 $1",
        "import-logentry-interwiki-detail": "來自 $2 的 $1 個修訂",
        "tooltip-pt-mytalk": "您的對話頁面",
        "tooltip-pt-anontalk": "對於來自此IP地址編輯的對話",
        "tooltip-pt-preferences": "您的偏好設定",
-       "tooltip-pt-watchlist": "您所監視頁面的變更列表",
-       "tooltip-pt-mycontris": "您的貢獻列表",
-       "tooltip-pt-login": "雖可不登入,但仍建議您登入。",
+       "tooltip-pt-watchlist": "您監視變更頁面清單",
+       "tooltip-pt-mycontris": "您的貢獻清單",
+       "tooltip-pt-login": "儘管非必要,仍建議您登入。",
        "tooltip-pt-logout": "登出",
-       "tooltip-ca-talk": "關於頁面正文的討論",
-       "tooltip-ca-edit": "您可以編輯此頁,請在儲存之前先預覽一下。",
+       "tooltip-ca-talk": "有關頁面內容的討論",
+       "tooltip-ca-edit": "您可以編輯此頁,請在儲存之前先預覽。",
        "tooltip-ca-addsection": "開始一個新章節",
        "tooltip-ca-viewsource": "該頁面已被保護。您可以檢視該頁原始碼",
        "tooltip-ca-history": "本頁面的早前修訂版本",
        "tooltip-ca-move": "移動本頁",
        "tooltip-ca-watch": "將此頁面加入監視列表",
        "tooltip-ca-unwatch": "將此頁面從監視列表中移除",
-       "tooltip-search": "搜尋{{SITENAME}}",
-       "tooltip-search-go": "如果相同的標題存在的話便直接前往該頁面",
-       "tooltip-search-fulltext": "搜尋文字的頁面",
-       "tooltip-p-logo": "訪問首頁",
-       "tooltip-n-mainpage": "訪問首頁",
-       "tooltip-n-mainpage-description": "訪問首頁",
+       "tooltip-search": "搜尋 {{SITENAME}}",
+       "tooltip-search-go": "若與此名稱相符的頁面存在,前往該頁面",
+       "tooltip-search-fulltext": "搜尋使用此文字的頁面",
+       "tooltip-p-logo": "參觀主頁面",
+       "tooltip-n-mainpage": "參觀主頁面",
+       "tooltip-n-mainpage-description": "參觀主頁面",
        "tooltip-n-portal": "關於本專案、您可以做什麼、哪裡可以找到事情",
        "tooltip-n-currentevents": "提供目前新聞事件的背景資料",
        "tooltip-n-recentchanges": "列出此 Wiki 中的最近變更清單",
-       "tooltip-n-randompage": "隨機入一個頁面",
-       "tooltip-n-help": "尋求協助",
-       "tooltip-t-whatlinkshere": "列出所有與本頁相連的頁面",
+       "tooltip-n-randompage": "隨機入一個頁面",
+       "tooltip-n-help": "尋求協助的地方",
+       "tooltip-t-whatlinkshere": "列出所有連結此頁面的頁面",
        "tooltip-t-recentchangeslinked": "此頁面連結到其他頁面的最近變更",
-       "tooltip-feed-rss": "è¨\82é\96±æ\9c¬é \81é\9d¢æ­·å\8f²ç\9a\84RSSè³\87è¨\8a",
-       "tooltip-feed-atom": "è¨\82é\96±æ\9c¬é \81é\9d¢æ­·å\8f²ç\9a\84 Atom Feed",
-       "tooltip-t-contributions": "檢è¦\96該使ç\94¨è\80\85ç\9a\84è²¢ç\8d»å\88\97表",
+       "tooltip-feed-rss": "è¨\82é\96±æ­¤é \81é\9d¢ç\9a\84 RSS feed",
+       "tooltip-feed-atom": "è¨\82é\96±æ­¤é \81é\9d¢ç\9a\84 Atom feed",
+       "tooltip-t-contributions": "此使ç\94¨è\80\85ç\9a\84è²¢ç\8d»æ¸\85å\96®",
        "tooltip-t-emailuser": "發送電子郵件給這個使用者",
        "tooltip-t-upload": "上傳檔案",
        "tooltip-t-specialpages": "全部特殊頁面的列表",
index dfd1959..888c2dc 100644 (file)
@@ -59,7 +59,7 @@ class DumpLinks extends Maintenance {
                $lastPage = null;
                foreach ( $result as $row ) {
                        if ( $lastPage != $row->page_id ) {
-                               if ( isset( $lastPage ) ) {
+                               if ( $lastPage !== null ) {
                                        $this->output( "\n" );
                                }
                                $page = Title::makeTitle( $row->page_namespace, $row->page_title );
@@ -69,7 +69,7 @@ class DumpLinks extends Maintenance {
                        $link = Title::makeTitle( $row->pl_namespace, $row->pl_title );
                        $this->output( " " . $link->getPrefixedURL() );
                }
-               if ( isset( $lastPage ) ) {
+               if ( $lastPage !== null ) {
                        $this->output( "\n" );
                }
        }
index 0b3cdba..a678a92 100644 (file)
@@ -44,13 +44,14 @@ class FixDoubleRedirects extends Maintenance {
        public function execute() {
                $async = $this->getOption( 'async', false );
                $dryrun = $this->getOption( 'dry-run', false );
-               $title = $this->getOption( 'title' );
 
-               if ( isset( $title ) ) {
-                       $title = Title::newFromText( $title );
+               if ( $this->hasOption( 'title' ) ) {
+                       $title = Title::newFromText( $this->getOption( 'title' ) );
                        if ( !$title || !$title->isRedirect() ) {
                                $this->error( $title->getPrefixedText() . " is not a redirect!\n", true );
                        }
+               } else {
+                       $title = null;
                }
 
                $dbr = wfGetDB( DB_SLAVE );
@@ -75,7 +76,7 @@ class FixDoubleRedirects extends Maintenance {
                        'pb.page_is_redirect' => 1,
                );
 
-               if ( isset( $title ) ) {
+               if ( $title != null ) {
                        $conds['pb.page_namespace'] = $title->getNamespace();
                        $conds['pb.page_title'] = $title->getDBkey();
                }
index c43851e..1930a22 100644 (file)
@@ -244,9 +244,6 @@ class GenerateSitemap extends Maintenance {
         * @return null|string
         */
        private static function init_path( $fspath ) {
-               if ( !isset( $fspath ) ) {
-                       return null;
-               }
                # Create directory if needed
                if ( $fspath && !is_dir( $fspath ) ) {
                        wfMkdirParents( $fspath, null, __METHOD__ ) or die( "Can not create directory $fspath.\n" );
index a9208db..aee1864 100644 (file)
@@ -921,7 +921,6 @@ return array(
                        'jquery.accessKeyLabel',
                        'jquery.mwExtension',
                        'mediawiki.notify',
-                       'mediawiki.toc', // bug 64765
                ),
                'position' => 'top', // For $wgPreloadJavaScriptMwUtil
                'targets' => array( 'desktop', 'mobile' ),
index a44d0e5..6dfe34a 100644 (file)
@@ -5,5 +5,13 @@
                        "Jagwar"
                ]
        },
-       "ooui-dialog-action-close": "Tutuik"
+       "ooui-dialog-action-close": "Tutuik",
+       "ooui-outline-control-move-down": "Pindahan ko ka bawah",
+       "ooui-outline-control-move-up": "Pindahan ko ka ateh",
+       "ooui-outline-control-remove": "Hapuih ko",
+       "ooui-toolbar-more": "Lainnyo",
+       "ooui-dialog-confirm-title": "Pastian",
+       "ooui-dialog-confirm-default-prompt": "Yakin?",
+       "ooui-dialog-confirm-default-ok": "Yo",
+       "ooui-dialog-confirm-default-cancel": "Batal"
 }
index f7bbff4..da4b829 100644 (file)
@@ -2,12 +2,17 @@
        "@metadata": {
                "authors": [
                        "RajeshPandey",
-                       "सरोज कुमार ढकाल"
+                       "सरोज कुमार ढकाल",
+                       "Ganesh Paudel"
                ]
        },
        "ooui-dialog-action-close": "बन्द गर्ने",
        "ooui-outline-control-move-down": "वस्तुलाई तल सार्ने",
        "ooui-outline-control-move-up": "वस्तुलाई माथि सार्ने",
        "ooui-outline-control-remove": "वस्तुलाई हटाउने",
-       "ooui-toolbar-more": "थप"
+       "ooui-toolbar-more": "थप",
+       "ooui-dialog-confirm-title": "निश्चित गर्ने",
+       "ooui-dialog-confirm-default-prompt": "निश्चित हुनुहुन्छ ?",
+       "ooui-dialog-confirm-default-ok": "हुन्छ",
+       "ooui-dialog-confirm-default-cancel": "रद्द गर्ने"
 }
diff --git a/resources/lib/oojs-ui/oojs-ui.css b/resources/lib/oojs-ui/oojs-ui.css
new file mode 100644 (file)
index 0000000..fa07706
--- /dev/null
@@ -0,0 +1,1159 @@
+/*!
+ * OOjs UI v0.1.0
+ * https://www.mediawiki.org/wiki/OOjs_UI
+ *
+ * Copyright 2011–2014 OOjs Team and other contributors.
+ * Released under the MIT license
+ * http://oojs.mit-license.org
+ *
+ * Date: Fri May 30 2014 12:12:37 GMT-0700 (PDT)
+ */
+
+/* Textures */
+
+.oo-ui-texture-pending {
+  background-image: /* @embed */ url(images/textures/pending.gif);
+}
+
+.oo-ui-texture-transparency {
+  background-image: /* @embed */ url(images/textures/transparency.png);
+}
+
+/* RTL Definitions */
+
+/* @noflip */
+
+.oo-ui-rtl {
+  direction: rtl;
+}
+
+/* @noflip */
+
+.oo-ui-ltr {
+  direction: ltr;
+}
+
+.oo-ui-dialog {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 1em;
+  line-height: 1em;
+  /* Fix for strange opacity-related rendering issues.
+          CAUTION: -webkit-backface-visibility: hidden; is EXTREMELY DANGEROUS.
+          If applied to a VE surface directly, it will break selection of
+          FocusableNodes, and in the past it's caused transparent PNGs to
+          render as opaque black images. For some reason applying it to the dialog
+          wrapper in the main document fixes opacity-related behavior in the iframe
+          document, but doesn't break the surface inside the iframe. */
+
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+}
+
+.oo-ui-dialog > .oo-ui-window-frame {
+  position: fixed;
+  right: 0;
+  left: 0;
+  min-height: 12em;
+  margin: auto;
+  overflow: hidden;
+}
+
+.oo-ui-dialog > .oo-ui-window-frame .oo-ui-frame {
+  width: 100%;
+  height: 100%;
+}
+
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-buttonedElement-framed {
+  float: left;
+}
+
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-flaggableElement-primary,
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-flaggableElement-constructive,
+.oo-ui-dialog-content .oo-ui-window-foot .oo-ui-flaggableElement-destructive {
+  float: right;
+}
+
+.oo-ui-dialog-content-footless .oo-ui-window-foot {
+  display: none;
+}
+
+.oo-ui-frame {
+  padding: 0;
+  margin: 0;
+}
+
+.oo-ui-frame-body {
+  padding: 0;
+  margin: 0;
+  background: none;
+}
+
+.oo-ui-frame-content:focus {
+  outline: none;
+}
+
+.oo-ui-toolbar {
+  clear: both;
+}
+
+.oo-ui-toolbar-bar {
+  line-height: 1em;
+}
+
+.oo-ui-toolbar-bottom .oo-ui-toolbar-bar {
+  position: absolute;
+}
+
+.oo-ui-toolbar-actions {
+  float: right;
+}
+
+.oo-ui-toolbar-tools {
+  float: left;
+}
+
+.oo-ui-toolbar-tools,
+.oo-ui-toolbar-actions,
+.oo-ui-toolbar-shadow {
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-toolbar-actions .oo-ui-popupWidget {
+  -webkit-user-select: all;
+     -moz-user-select: all;
+      -ms-user-select: all;
+          user-select: all;
+  -webkit-touch-callout: default;
+}
+
+.oo-ui-toolbar-shadow {
+  position: absolute;
+  width: 100%;
+  pointer-events: none;
+  background-position: left top;
+  background-repeat: repeat-x;
+}
+
+.oo-ui-toolGroup {
+  display: inline-block;
+  margin: 0.3em;
+  vertical-align: middle;
+}
+
+.oo-ui-toolGroup-empty {
+  display: none;
+}
+
+.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-window-head {
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-window-icon {
+  float: left;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-window-title {
+  float: left;
+  white-space: nowrap;
+  cursor: default;
+}
+
+.oo-ui-window-overlay {
+  position: absolute;
+  top: 0;
+  left: 0;
+}
+
+.oo-ui-buttonedElement .oo-ui-buttonedElement-button {
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-buttonedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  display: none;
+  margin-left: 0;
+}
+
+.oo-ui-buttonedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator {
+  display: none;
+  margin-right: -0.75em;
+}
+
+.oo-ui-buttonedElement.oo-ui-widget-disabled .oo-ui-buttonedElement-button {
+  cursor: default;
+}
+
+.oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
+.oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  display: inline-block;
+  vertical-align: middle;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-buttonedElement-frameless {
+  position: relative;
+  display: inline-block;
+}
+
+.oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button > .oo-ui-labeledElement-label {
+  display: inline-block;
+  margin-left: 0.25em;
+  vertical-align: middle;
+}
+
+.oo-ui-buttonedElement-framed .oo-ui-buttonedElement-button {
+  display: inline-block;
+  text-align: center;
+  vertical-align: top;
+}
+
+.oo-ui-buttonedElement-framed .oo-ui-buttonedElement-button > .oo-ui-labeledElement-label {
+  display: inline-block;
+  line-height: 1.9em;
+  vertical-align: middle;
+}
+
+.oo-ui-buttonedElement-framed.oo-ui-widget-disabled .oo-ui-buttonedElement-button,
+.oo-ui-buttonedElement-framed.oo-ui-widget-disabled .oo-ui-buttonedElement-button.oo-ui-buttonedElement-active,
+.oo-ui-buttonedElement-framed.oo-ui-widget-disabled .oo-ui-buttonedElement-button.oo-ui-buttonedElement-pressed {
+  cursor: default;
+}
+
+.oo-ui-clippableElement-clippable {
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.oo-ui-bookletLayout-stackLayout.oo-ui-stackLayout-continuous .oo-ui-panelLayout-scrollable {
+  overflow-y: hidden;
+}
+
+.oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout {
+  width: 100%;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-scrollable {
+  overflow-y: auto;
+}
+
+.oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
+  padding: 2em;
+}
+
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 3em;
+  left: 0;
+  overflow-y: auto;
+}
+
+.oo-ui-bookletLayout-outlinePanel .oo-ui-outlineControlsWidget {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  left: 0;
+}
+
+.oo-ui-fieldLayout {
+  margin-bottom: 1em;
+}
+
+.oo-ui-fieldLayout:last-child {
+  margin-bottom: 0;
+}
+
+.oo-ui-fieldLayout:before,
+.oo-ui-fieldLayout:after {
+  display: table;
+  content: " ";
+}
+
+.oo-ui-fieldLayout:after {
+  clear: both;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-labeledElement-label,
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-labeledElement-label {
+  display: block;
+  float: left;
+  width: 35%;
+  padding-top: 0.5em;
+  margin-right: 5%;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-left > .oo-ui-fieldLayout-field,
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-fieldLayout-field {
+  display: block;
+  float: left;
+  width: 60%;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-right > .oo-ui-labeledElement-label {
+  text-align: right;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-labeledElement-label {
+  display: inline-block;
+  padding: 0.75em 0.5em 0.5em 0.5em;
+  vertical-align: middle;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-field {
+  display: inline-block;
+  padding: 0.5em 0;
+  vertical-align: middle;
+}
+
+.oo-ui-fieldLayout.oo-ui-fieldLayout-align-top > .oo-ui-labeledElement-label {
+  padding: 0.5em 0;
+}
+
+.oo-ui-fieldsetLayout {
+  position: relative;
+  padding: 0;
+  margin: 0;
+}
+
+.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout {
+  margin-top: 2em;
+}
+
+.oo-ui-fieldsetLayout-labeled {
+  margin-top: -0.75em;
+}
+
+.oo-ui-fieldsetLayout > .oo-ui-labeledElement-label {
+  padding: 0.25em 0;
+  margin-bottom: 0.5em;
+}
+
+.oo-ui-fieldsetLayout.oo-ui-iconedElement > .oo-ui-labeledElement-label {
+  padding-left: 1.75em;
+  line-height: 1.33em;
+}
+
+.oo-ui-fieldsetLayout.oo-ui-iconedElement > .oo-ui-iconedElement-icon {
+  position: absolute;
+  top: 0.25em;
+  left: 0;
+  display: block;
+  width: 2em;
+  height: 2em;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-gridLayout {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+}
+
+.oo-ui-labelWidget {
+  padding: 0.5em 0;
+}
+
+.oo-ui-panelLayout-scrollable {
+  overflow-y: auto;
+}
+
+.oo-ui-stackLayout > .oo-ui-panelLayout {
+  display: none;
+}
+
+.oo-ui-stackLayout-continuous > .oo-ui-panelLayout {
+  position: relative;
+  display: block;
+}
+
+.oo-ui-barToolGroup > .oo-ui-iconedElement-icon,
+.oo-ui-barToolGroup > .oo-ui-labeledElement-label {
+  display: none;
+}
+
+.oo-ui-barToolGroup .oo-ui-tool {
+  position: relative;
+  display: inline-block;
+  vertical-align: top;
+}
+
+.oo-ui-barToolGroup .oo-ui-tool-link {
+  display: block;
+  height: 1.5em;
+  padding: 0.25em;
+}
+
+.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  display: block;
+  width: 1.5em;
+  height: 1.5em;
+}
+
+.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-tool-title {
+  display: none;
+}
+
+.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+  cursor: default;
+}
+
+.oo-ui-barToolGroup .oo-ui-tool-title,
+.oo-ui-barToolGroup .oo-ui-tool-accel {
+  display: none;
+}
+
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link {
+  cursor: pointer;
+}
+
+.oo-ui-listToolGroup .oo-ui-toolGroup-tools {
+  padding: 0.25em;
+}
+
+.oo-ui-listToolGroup .oo-ui-tool {
+  display: inline-block;
+  width: 100%;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.oo-ui-listToolGroup .oo-ui-tool-link {
+  display: block;
+  padding-right: 0.5em;
+  white-space: nowrap;
+  cursor: pointer;
+}
+
+.oo-ui-listToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+  cursor: default;
+}
+
+.oo-ui-menuToolGroup .oo-ui-popupToolGroup-handle {
+  min-width: 8em;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool {
+  display: block;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool-link {
+  display: block;
+  padding: 0.25em 1em 0.25em 0.25em;
+  white-space: nowrap;
+  cursor: pointer;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  background-image: none;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool-active .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  background-image: /* @embed */ url(images/icons/check.png);
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+  cursor: default;
+}
+
+.oo-ui-popupToolGroup {
+  position: relative;
+  height: 2em;
+  min-width: 2.5em;
+}
+
+.oo-ui-popupToolGroup.oo-ui-indicatedElement.oo-ui-iconedElement {
+  min-width: 3.5em;
+}
+
+.oo-ui-popupToolGroup-handle {
+  display: block;
+  cursor: pointer;
+}
+
+.oo-ui-popupToolGroup-handle .oo-ui-indicatedElement-indicator,
+.oo-ui-popupToolGroup-handle .oo-ui-iconedElement-icon {
+  position: absolute;
+  top: 0;
+  width: 2em;
+  height: 2em;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-popupToolGroup-handle .oo-ui-indicatedElement-indicator {
+  right: 0;
+}
+
+.oo-ui-popupToolGroup-handle .oo-ui-iconedElement-icon {
+  left: 0.25em;
+}
+
+.oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
+  margin: 0 1em;
+  font-size: 0.8em;
+  line-height: 2.6em;
+}
+
+.oo-ui-popupToolGroup-header {
+  margin: 0 0.6em;
+  font-size: 0.8em;
+  font-weight: bold;
+  line-height: 2.6em;
+}
+
+.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle {
+  cursor: default;
+}
+
+.oo-ui-popupToolGroup.oo-ui-iconedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
+  margin-left: 3em;
+}
+
+.oo-ui-popupToolGroup.oo-ui-indicatedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
+  margin-right: 2.25em;
+}
+
+.oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
+  position: absolute;
+  top: 2em;
+  left: -1px;
+  z-index: 4;
+  display: none;
+}
+
+.oo-ui-popupToolGroup .oo-ui-toolGroup-tools .oo-ui-iconedElement-icon {
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-popupToolGroup-active.oo-ui-widget-enabled > .oo-ui-toolGroup-tools {
+  display: block;
+}
+
+.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+  display: inline-block;
+  width: 2em;
+  height: 2em;
+  margin-right: 0.25em;
+  vertical-align: middle;
+}
+
+.oo-ui-popupToolGroup .oo-ui-tool-link .oo-ui-tool-title {
+  display: inline-block;
+  font-size: 0.8em;
+  line-height: 2em;
+  vertical-align: middle;
+}
+
+.oo-ui-popupToolGroup .oo-ui-tool-accel {
+  display: none;
+}
+
+.oo-ui-popupTool .oo-ui-popupWidget {
+  margin-left: 1.25em;
+  font-size: 0.8em;
+}
+
+.oo-ui-popupTool .oo-ui-popupWidget-popup,
+.oo-ui-popupTool .oo-ui-popupWidget-tail {
+  z-index: 4;
+}
+
+.oo-ui-iconWidget {
+  display: inline-block;
+  width: 1.9em;
+  height: 1.9em;
+  line-height: 2.5em;
+  vertical-align: middle;
+  background-position: center center;
+  background-repeat: no-repeat;
+  opacity: 0.8;
+}
+
+.oo-ui-iconWidget.oo-ui-widget-disabled {
+  opacity: 0.2;
+}
+
+.oo-ui-indicatorWidget {
+  display: inline-block;
+  width: 1.9em;
+  height: 1.9em;
+  line-height: 2.5em;
+  vertical-align: middle;
+  background-position: center center;
+  background-repeat: no-repeat;
+  opacity: 0.8;
+}
+
+.oo-ui-indicatorWidget.oo-ui-widget-disabled {
+  opacity: 0.2;
+}
+
+.oo-ui-selectWidget {
+  padding: 0;
+  margin: 0;
+  list-style: none;
+}
+
+.oo-ui-optionWidget {
+  position: relative;
+  display: block;
+  margin: 0;
+  list-style: none;
+  cursor: pointer;
+  border: none;
+}
+
+.oo-ui-optionWidget.oo-ui-widget-disabled {
+  cursor: default;
+}
+
+.oo-ui-optionWidget .oo-ui-labeledElement-label {
+  display: block;
+  overflow: hidden;
+  line-height: 1.5em;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.oo-ui-optionWidget .oo-ui-iconedElement-icon,
+.oo-ui-optionWidget .oo-ui-indicatedElement-indicator {
+  position: absolute;
+  top: 50%;
+  width: 2em;
+  height: 2em;
+  margin-top: -1em;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-optionWidget .oo-ui-iconedElement-icon {
+  left: 0.5em;
+}
+
+.oo-ui-optionWidget .oo-ui-indicatedElement-indicator {
+  right: 0.5em;
+}
+
+.oo-ui-menuWidget {
+  position: absolute;
+}
+
+.oo-ui-menuWidget input {
+  position: absolute;
+  width: 0;
+  height: 0;
+  overflow: hidden;
+  opacity: 0;
+}
+
+.oo-ui-popupWidget-popup {
+  position: absolute;
+  overflow: hidden;
+}
+
+.oo-ui-popupWidget-tail {
+  display: none;
+}
+
+.oo-ui-popupWidget-tailed .oo-ui-popupWidget-popup {
+  margin-top: 7px;
+}
+
+.oo-ui-popupWidget-tailed .oo-ui-popupWidget-tail {
+  position: absolute;
+  display: block;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-popupWidget-head {
+  height: 2.5em;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-popupWidget-head .oo-ui-buttonWidget {
+  float: right;
+  margin: 0.25em;
+}
+
+.oo-ui-popupWidget-head .oo-ui-labeledElement-label {
+  float: left;
+  margin: 0.75em 1em;
+  cursor: default;
+}
+
+.oo-ui-popupWidget-body {
+  clear: both;
+}
+
+.oo-ui-buttonGroupWidget {
+  border-radius: 0.3em;
+}
+
+.oo-ui-buttonGroupWidget .oo-ui-buttonedElement-framed .oo-ui-buttonedElement-button {
+  margin-bottom: -1px;
+  margin-left: -1px;
+  border-radius: 0;
+}
+
+.oo-ui-buttonGroupWidget .oo-ui-buttonedElement-framed:first-child .oo-ui-buttonedElement-button {
+  margin-left: 0;
+  border-bottom-left-radius: 0.3em;
+  border-top-left-radius: 0.3em;
+}
+
+.oo-ui-buttonGroupWidget .oo-ui-buttonedElement-framed:last-child .oo-ui-buttonedElement-button {
+  border-top-right-radius: 0.3em;
+  border-bottom-right-radius: 0.3em;
+}
+
+.oo-ui-buttonOptionWidget {
+  display: inline-block;
+  background-color: transparent;
+}
+
+.oo-ui-buttonOptionWidget .oo-ui-buttonedElement-button {
+  position: relative;
+  height: 1.9em;
+}
+
+.oo-ui-buttonOptionWidget.oo-ui-iconedElement .oo-ui-iconedElement-icon,
+.oo-ui-buttonOptionWidget.oo-ui-indicatedElement .oo-ui-indicatedElement-indicator {
+  position: static;
+  display: inline-block;
+  height: 1.9em;
+  margin-top: 0;
+  vertical-align: middle;
+}
+
+.oo-ui-buttonSelectWidget {
+  display: inline-block;
+  white-space: nowrap;
+}
+
+.oo-ui-buttonWidget {
+  display: inline-block;
+  vertical-align: middle;
+}
+
+.oo-ui-inlineMenuWidget {
+  position: relative;
+  display: inline-block;
+  min-width: 20em;
+  margin: 0.25em 0;
+}
+
+.oo-ui-inlineMenuWidget-handle {
+  display: inline-block;
+  width: 100%;
+  height: 2.5em;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-inlineMenuWidget-handle .oo-ui-indicatedElement-indicator,
+.oo-ui-inlineMenuWidget-handle .oo-ui-iconedElement-icon {
+  position: absolute;
+  top: 0;
+  width: 2.5em;
+  height: 2.5em;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-inlineMenuWidget-handle .oo-ui-indicatedElement-indicator {
+  right: 0;
+}
+
+.oo-ui-inlineMenuWidget-handle .oo-ui-iconedElement-icon {
+  left: 0.25em;
+}
+
+.oo-ui-inlineMenuWidget-handle .oo-ui-labeledElement-label {
+  margin: 0 0.5em;
+  line-height: 2.5em;
+}
+
+.oo-ui-inlineMenuWidget.oo-ui-iconedElement .oo-ui-inlineMenuWidget-handle .oo-ui-labeledElement-label {
+  margin-left: 3em;
+}
+
+.oo-ui-inlineMenuWidget.oo-ui-indicatedElement .oo-ui-inlineMenuWidget-handle .oo-ui-labeledElement-label {
+  margin-right: 2em;
+}
+
+.oo-ui-inlineMenuWidget .oo-ui-menuWidget {
+  z-index: 1;
+  width: 100%;
+}
+
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+  cursor: default;
+}
+
+.oo-ui-menuItemWidget {
+  position: relative;
+}
+
+.oo-ui-menuItemWidget .oo-ui-iconedElement-icon {
+  display: none;
+}
+
+.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+  background-color: transparent;
+}
+
+.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconedElement-icon {
+  display: block;
+}
+
+.oo-ui-menuSectionItemWidget {
+  cursor: default;
+}
+
+.oo-ui-outlineControlsWidget {
+  height: 3em;
+}
+
+.oo-ui-outlineControlsWidget-adders,
+.oo-ui-outlineControlsWidget-movers {
+  float: left;
+  height: 2em;
+  padding: 0;
+  margin: 0.5em;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.oo-ui-outlineControlsWidget > .oo-ui-iconedElement-icon {
+  float: left;
+  width: 1.5em;
+  height: 2em;
+  margin: 0.5em 0 0.5em 0.5em;
+  background-position: right center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-outlineControlsWidget-adders {
+  float: left;
+  margin-left: 0;
+}
+
+.oo-ui-outlineControlsWidget-adders .oo-ui-buttonWidget {
+  float: left;
+}
+
+.oo-ui-outlineControlsWidget-movers {
+  float: right;
+}
+
+.oo-ui-outlineControlsWidget-movers .oo-ui-buttonWidget {
+  float: right;
+}
+
+.oo-ui-outlineItemWidget {
+  position: relative;
+  padding: 0.75em;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-popupButtonWidget {
+  position: relative;
+}
+
+.oo-ui-popupButtonWidget .oo-ui-popupWidget {
+  position: absolute;
+  left: 1em;
+  cursor: auto;
+}
+
+.oo-ui-searchWidget-query {
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  height: 4em;
+  padding: 0 1em;
+}
+
+.oo-ui-searchWidget-query .oo-ui-textInputWidget {
+  width: 100%;
+  margin: 0.75em 0;
+}
+
+.oo-ui-searchWidget-results {
+  position: absolute;
+  top: 4em;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 1em;
+  overflow-x: hidden;
+  overflow-y: auto;
+  line-height: 0;
+}
+
+.oo-ui-textInputWidget {
+  position: relative;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.oo-ui-textInputWidget input,
+.oo-ui-textInputWidget textarea {
+  display: inline-block;
+  width: 100%;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+  resize: none;
+}
+
+.oo-ui-textInputWidget-icon {
+  position: absolute;
+  top: 0;
+  left: 0;
+  height: 100%;
+  background-position: right center;
+  background-repeat: no-repeat;
+}
+
+.oo-ui-toggleSwitchWidget {
+  position: relative;
+  display: inline-block;
+  width: 4em;
+  height: 2em;
+  overflow: hidden;
+  vertical-align: middle;
+  cursor: pointer;
+  -webkit-transform: translateZ(0);
+     -moz-transform: translateZ(0);
+      -ms-transform: translateZ(0);
+       -o-transform: translateZ(0);
+          transform: translateZ(0);
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.oo-ui-toggleSwitchWidget.oo-ui-widget-disabled {
+  cursor: default;
+}
+
+.oo-ui-toggleSwitchWidget-grip {
+  position: absolute;
+  top: 0.25em;
+  left: 0.25em;
+  display: block;
+  width: 1.5em;
+  height: 1.5em;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+          box-sizing: border-box;
+  -webkit-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out;
+     -moz-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out;
+      -ms-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out;
+       -o-transition: left 200ms ease-in-out, margin-left 200ms ease-in-out;
+          transition: left 200ms ease-in-out, margin-left 200ms ease-in-out;
+}
+
+.oo-ui-toggleSwitchWidget .oo-ui-toggleSwitchWidget-glow {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  -webkit-transition: opacity 200ms ease-in-out;
+     -moz-transition: opacity 200ms ease-in-out;
+      -ms-transition: opacity 200ms ease-in-out;
+       -o-transition: opacity 200ms ease-in-out;
+          transition: opacity 200ms ease-in-out;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -webkit-touch-callout: none;
+}
+
+.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip {
+  left: 2.25em;
+  margin-left: -2px;
+}
+
+.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-grip {
+  left: 0.25em;
+  margin-left: 0;
+}
+
+.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-glow {
+  display: none;
+}
+
+/* Icons */
+
+.oo-ui-icon-add-item {
+  background-image: /* @embed */ url(images/icons/add-item.png);
+}
+
+.oo-ui-icon-advanced {
+  background-image: /* @embed */ url(images/icons/advanced.png);
+}
+
+.oo-ui-icon-alert {
+  background-image: /* @embed */ url(images/icons/alert.png);
+}
+
+.oo-ui-icon-check {
+  background-image: /* @embed */ url(images/icons/check.png);
+}
+
+.oo-ui-icon-clear {
+  background-image: /* @embed */ url(images/icons/clear.png);
+}
+
+.oo-ui-icon-close {
+  background-image: /* @embed */ url(images/icons/close.png);
+}
+
+.oo-ui-icon-code {
+  background-image: /* @embed */ url(images/icons/code.png);
+}
+
+.oo-ui-icon-collapse {
+  background-image: /* @embed */ url(images/icons/collapse.png);
+}
+
+.oo-ui-icon-comment {
+  background-image: /* @embed */ url(images/icons/comment.png);
+}
+
+.oo-ui-icon-expand {
+  background-image: /* @embed */ url(images/icons/expand.png);
+}
+
+.oo-ui-icon-help {
+  background-image: /* @embed */ url(images/icons/help.png);
+}
+
+.oo-ui-icon-info {
+  background-image: /* @embed */ url(images/icons/info.png);
+}
+
+.oo-ui-icon-link {
+  background-image: /* @embed */ url(images/icons/link.png);
+}
+
+.oo-ui-icon-menu {
+  background-image: /* @embed */ url(images/icons/menu.png);
+}
+
+.oo-ui-icon-next {
+  background-image: /* @embed */ url(images/icons/move-ltr.png);
+}
+
+.oo-ui-icon-picture {
+  background-image: /* @embed */ url(images/icons/picture.png);
+}
+
+.oo-ui-icon-previous {
+  background-image: /* @embed */ url(images/icons/move-rtl.png);
+}
+
+.oo-ui-icon-redo {
+  background-image: /* @embed */ url(images/icons/arched-arrow-ltr.png);
+}
+
+.oo-ui-icon-remove {
+  background-image: /* @embed */ url(images/icons/remove.png);
+}
+
+.oo-ui-icon-search {
+  background-image: /* @embed */ url(images/icons/search.png);
+}
+
+.oo-ui-icon-settings {
+  background-image: /* @embed */ url(images/icons/settings.png);
+}
+
+.oo-ui-icon-tag {
+  background-image: /* @embed */ url(images/icons/tag.png);
+}
+
+.oo-ui-icon-undo {
+  background-image: /* @embed */ url(images/icons/arched-arrow-rtl.png);
+}
+
+.oo-ui-icon-window {
+  background-image: /* @embed */ url(images/icons/window.png);
+}
+
+/* Indicators */
+
+.oo-ui-indicator-alert {
+  background-image: /* @embed */ url(images/indicators/alert.png);
+}
+
+.oo-ui-indicator-down {
+  background-image: /* @embed */ url(images/indicators/down.png);
+}
+
+.oo-ui-indicator-required {
+  background-image: /* @embed */ url(images/indicators/required.png);
+}
+
+.oo-ui-indicator-up {
+  background-image: /* @embed */ url(images/indicators/up.png);
+}
\ No newline at end of file
index b75b172..7e2692f 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (09b223d279)
+ * OOjs UI v0.1.0-pre (dd888aba5c)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Wed May 28 2014 18:37:12 GMT-0700 (PDT)
+ * Date: Fri May 30 2014 21:28:55 GMT-0700 (PDT)
  */
 ( function ( OO ) {
 
@@ -743,8 +743,7 @@ OO.ui.Frame = function OoUiFrame( config ) {
        OO.EventEmitter.call( this );
 
        // Properties
-       this.loading = false;
-       this.loaded = false;
+       this.loading = null;
        this.config = config;
 
        // Initialize
@@ -780,10 +779,10 @@ OO.ui.Frame.static.tagName = 'iframe';
  *
  * This loops over the style sheets in the parent document, and copies their nodes to the
  * frame's document. It then polls the document to see when all styles have loaded, and once they
- * have, invokes the callback.
+ * have, resolves the promise.
  *
  * If the styles still haven't loaded after a long time (5 seconds by default), we give up waiting
- * and invoke the callback anyway. This protects against cases like a display: none; iframe in
+ * and resolve the promise anyway. This protects against cases like a display: none; iframe in
  * Firefox, where the styles won't load until the iframe becomes visible.
  *
  * For details of how we arrived at the strategy used in this function, see #load.
@@ -792,18 +791,19 @@ OO.ui.Frame.static.tagName = 'iframe';
  * @inheritable
  * @param {HTMLDocument} parentDoc Document to transplant styles from
  * @param {HTMLDocument} frameDoc Document to transplant styles to
- * @param {Function} [callback] Callback to execute once styles have loaded
  * @param {number} [timeout=5000] How long to wait before giving up (in ms). If 0, never give up.
+ * @return {jQuery.Promise} Promise resolved when styles have loaded
  */
-OO.ui.Frame.static.transplantStyles = function ( parentDoc, frameDoc, callback, timeout ) {
+OO.ui.Frame.static.transplantStyles = function ( parentDoc, frameDoc, timeout ) {
        var i, numSheets, styleNode, newNode, timeoutID, pollNodeId, $pendingPollNodes,
                $pollNodes = $( [] ),
                // Fake font-family value
-               fontFamily = 'oo-ui-frame-transplantStyles-loaded';
+               fontFamily = 'oo-ui-frame-transplantStyles-loaded',
+               deferred = $.Deferred();
 
        for ( i = 0, numSheets = parentDoc.styleSheets.length; i < numSheets; i++ ) {
                styleNode = parentDoc.styleSheets[i].ownerNode;
-               if ( callback && styleNode.nodeName.toLowerCase() === 'link' ) {
+               if ( styleNode.nodeName.toLowerCase() === 'link' ) {
                        // External stylesheet
                        // Create a node with a unique ID that we're going to monitor to see when the CSS
                        // has loaded
@@ -825,40 +825,40 @@ OO.ui.Frame.static.transplantStyles = function ( parentDoc, frameDoc, callback,
                frameDoc.head.appendChild( newNode );
        }
 
-       if ( callback ) {
-               // Poll every 100ms until all external stylesheets have loaded
-               $pendingPollNodes = $pollNodes;
-               timeoutID = setTimeout( function pollExternalStylesheets() {
-                       while (
-                               $pendingPollNodes.length > 0 &&
-                               $pendingPollNodes.eq( 0 ).css( 'font-family' ) === fontFamily
-                       ) {
-                               $pendingPollNodes = $pendingPollNodes.slice( 1 );
-                       }
+       // Poll every 100ms until all external stylesheets have loaded
+       $pendingPollNodes = $pollNodes;
+       timeoutID = setTimeout( function pollExternalStylesheets() {
+               while (
+                       $pendingPollNodes.length > 0 &&
+                       $pendingPollNodes.eq( 0 ).css( 'font-family' ) === fontFamily
+               ) {
+                       $pendingPollNodes = $pendingPollNodes.slice( 1 );
+               }
 
-                       if ( $pendingPollNodes.length === 0 ) {
-                               // We're done!
-                               if ( timeoutID !== null ) {
-                                       timeoutID = null;
-                                       $pollNodes.remove();
-                                       callback();
-                               }
-                       } else {
-                               timeoutID = setTimeout( pollExternalStylesheets, 100 );
+               if ( $pendingPollNodes.length === 0 ) {
+                       // We're done!
+                       if ( timeoutID !== null ) {
+                               timeoutID = null;
+                               $pollNodes.remove();
+                               deferred.resolve();
                        }
-               }, 100 );
-               // ...but give up after a while
-               if ( timeout !== 0 ) {
-                       setTimeout( function () {
-                               if ( timeoutID ) {
-                                       clearTimeout( timeoutID );
-                                       timeoutID = null;
-                                       $pollNodes.remove();
-                                       callback();
-                               }
-                       }, timeout || 5000 );
+               } else {
+                       timeoutID = setTimeout( pollExternalStylesheets, 100 );
                }
+       }, 100 );
+       // ...but give up after a while
+       if ( timeout !== 0 ) {
+               setTimeout( function () {
+                       if ( timeoutID ) {
+                               clearTimeout( timeoutID );
+                               timeoutID = null;
+                               $pollNodes.remove();
+                               deferred.reject();
+                       }
+               }, timeout || 5000 );
        }
+
+       return deferred.promise();
 };
 
 /* Methods */
@@ -866,7 +866,10 @@ OO.ui.Frame.static.transplantStyles = function ( parentDoc, frameDoc, callback,
 /**
  * Load the frame contents.
  *
- * Once the iframe's stylesheets are loaded, the `initialize` event will be emitted.
+ * Once the iframe's stylesheets are loaded, the `load` event will be emitted and the returned
+ * promise will be resolved. Calling while loading will return a promise but not trigger a new
+ * loading cycle. Calling after loading is complete will return a promise that's already been
+ * resolved.
  *
  * Sounds simple right? Read on...
  *
@@ -894,15 +897,22 @@ OO.ui.Frame.static.transplantStyles = function ( parentDoc, frameDoc, callback,
  *
  * All this stylesheet injection and polling magic is in #transplantStyles.
  *
- * @private
+ * @return {jQuery.Promise} Promise resolved when loading is complete
  * @fires load
  */
 OO.ui.Frame.prototype.load = function () {
-       var win = this.$element.prop( 'contentWindow' ),
-               doc = win.document,
-               frame = this;
+       var win, doc;
 
-       this.loading = true;
+       // Return existing promise if already loading or loaded
+       if ( this.loading ) {
+               return this.loading.promise();
+       }
+
+       // Load the frame
+       this.loading = $.Deferred();
+
+       win = this.$element.prop( 'contentWindow' );
+       doc = win.document;
 
        // Figure out directionality:
        this.dir = OO.ui.Element.getDir( this.$element ) || 'ltr';
@@ -924,37 +934,14 @@ OO.ui.Frame.prototype.load = function () {
        this.$content = this.$( '.oo-ui-frame-content' ).attr( 'tabIndex', 0 );
        this.$document = this.$( doc );
 
-       this.constructor.static.transplantStyles(
-               this.getElementDocument(),
-               this.$document[0],
-               function () {
-                       frame.loading = false;
-                       frame.loaded = true;
-                       frame.emit( 'load' );
-               }
-       );
-};
+       // Initialization
+       this.constructor.static.transplantStyles( this.getElementDocument(), this.$document[0] )
+               .always( OO.ui.bind( function () {
+                       this.emit( 'load' );
+                       this.loading.resolve();
+               }, this ) );
 
-/**
- * Run a callback as soon as the frame has been loaded.
- *
- *
- * This will start loading if it hasn't already, and runs
- * immediately if the frame is already loaded.
- *
- * Don't call this until the element is attached.
- *
- * @param {Function} callback
- */
-OO.ui.Frame.prototype.run = function ( callback ) {
-       if ( this.loaded ) {
-               callback();
-       } else {
-               if ( !this.loading ) {
-                       this.load();
-               }
-               this.once( 'load', callback );
-       }
+       return this.loading.promise();
 };
 
 /**
@@ -995,8 +982,9 @@ OO.ui.Window = function OoUiWindow( config ) {
 
        // Properties
        this.visible = false;
-       this.opening = false;
-       this.closing = false;
+       this.opening = null;
+       this.closing = null;
+       this.opened = null;
        this.title = OO.ui.resolveMsg( config.title || this.constructor.static.title );
        this.icon = config.icon || this.constructor.static.icon;
        this.frame = new OO.ui.Frame( { '$': this.$ } );
@@ -1034,14 +1022,6 @@ OO.mixinClass( OO.ui.Window, OO.EventEmitter );
 
 /* Events */
 
-/**
- * Initialize contents.
- *
- * Fired asynchronously after construction when iframe is ready.
- *
- * @event initialize
- */
-
 /**
  * Open window.
  *
@@ -1101,7 +1081,7 @@ OO.ui.Window.prototype.isVisible = function () {
  * @return {boolean} Window is opening
  */
 OO.ui.Window.prototype.isOpening = function () {
-       return this.opening;
+       return !!this.opening && !this.opening.isResolved();
 };
 
 /**
@@ -1110,7 +1090,16 @@ OO.ui.Window.prototype.isOpening = function () {
  * @return {boolean} Window is closing
  */
 OO.ui.Window.prototype.isClosing = function () {
-       return this.closing;
+       return !!this.closing && !this.closing.isResolved();
+};
+
+/**
+ * Check if window is opened.
+ *
+ * @return {boolean} Window is opened
+ */
+OO.ui.Window.prototype.isOpened = function () {
+       return !!this.opened && !this.opened.isResolved();
 };
 
 /**
@@ -1246,7 +1235,6 @@ OO.ui.Window.prototype.fitWidthToContents = function ( min, max ) {
  *
  * Once this method is called, this.$$ can be used to create elements within the frame.
  *
- * @fires initialize
  * @chainable
  */
 OO.ui.Window.prototype.initialize = function () {
@@ -1273,93 +1261,137 @@ OO.ui.Window.prototype.initialize = function () {
 };
 
 /**
- * Setup window for use.
+ * Get a process for setting up a window for use.
+ *
+ * Each time the window is opened this process will set it up for use in a particular context, based
+ * on the `data` argument.
+ *
+ * When you override this method, you can add additional setup steps to the process the parent
+ * method provides using the 'first' and 'next' methods.
+ *
+ * @abstract
+ * @param {Object} [data] Window opening data
+ * @return {OO.ui.Process} Setup process
+ */
+OO.ui.Window.prototype.getSetupProcess = function () {
+       return new OO.ui.Process();
+};
+
+/**
+ * Get a process for readying a window for use.
  *
- * Each time the window is opened, once it's ready to be interacted with, this will set it up for
- * use in a particular context, based on the `data` argument.
+ * Each time the window is open and setup, this process will ready it up for use in a particular
+ * context, based on the `data` argument.
  *
- * When you override this method, you must call the parent method at the very beginning.
+ * When you override this method, you can add additional setup steps to the process the parent
+ * method provides using the 'first' and 'next' methods.
  *
  * @abstract
  * @param {Object} [data] Window opening data
+ * @return {OO.ui.Process} Setup process
  */
-OO.ui.Window.prototype.setup = function () {
-       // Override to do something
+OO.ui.Window.prototype.getReadyProcess = function () {
+       return new OO.ui.Process();
 };
 
 /**
- * Tear down window after use.
+ * Get a process for tearing down a window after use.
  *
- * Each time the window is closed, and it's done being interacted with, this will tear it down and
- * do something with the user's interactions within the window, based on the `data` argument.
+ * Each time the window is closed this process will tear it down and do something with the user's
+ * interactions within the window, based on the `data` argument.
  *
- * When you override this method, you must call the parent method at the very end.
+ * When you override this method, you can add additional teardown steps to the process the parent
+ * method provides using the 'first' and 'next' methods.
  *
  * @abstract
  * @param {Object} [data] Window closing data
+ * @return {OO.ui.Process} Teardown process
  */
-OO.ui.Window.prototype.teardown = function () {
-       // Override to do something
+OO.ui.Window.prototype.getTeardownProcess = function () {
+       return new OO.ui.Process();
 };
 
 /**
  * Open window.
  *
- * Do not override this method. See #setup for a way to make changes each time the window opens.
+ * Do not override this method. Use #geSetupProcess to do something each time the window closes.
  *
  * @param {Object} [data] Window opening data
+ * @fires initialize
  * @fires opening
  * @fires open
  * @fires ready
- * @chainable
+ * @return {jQuery.Promise} Promise resolved when window is opened; when the promise is resolved the
+ *   first argument will be a promise which will be resolved when the window begins closing
  */
 OO.ui.Window.prototype.open = function ( data ) {
-       if ( !this.opening && !this.closing && !this.visible ) {
-               this.opening = true;
-               this.frame.run( OO.ui.bind( function () {
-                       this.$element.show();
-                       this.visible = true;
-                       this.emit( 'opening', data );
-                       this.setup( data );
+       // Return existing promise if already opening or open
+       if ( this.opening ) {
+               return this.opening.promise();
+       }
+
+       // Open the window
+       this.opening = $.Deferred();
+       this.frame.load().done( OO.ui.bind( function () {
+               this.$element.show();
+               this.visible = true;
+               this.emit( 'opening', data );
+               this.getSetupProcess( data ).execute().done( OO.ui.bind( function () {
                        this.emit( 'open', data );
                        setTimeout( OO.ui.bind( function () {
                                // Focus the content div (which has a tabIndex) to inactivate
                                // (but not clear) selections in the parent frame.
                                // Must happen after 'open' is emitted (to ensure it is visible)
-                               // but before 'ready' is emitted (so subclasses can give focus to something else)
+                               // but before 'ready' is emitted (so subclasses can give focus to something
+                               // else)
                                this.frame.$content.focus();
-                               this.emit( 'ready', data );
-                               this.opening = false;
+                               this.getReadyProcess( data ).execute().done( OO.ui.bind( function () {
+                                       this.emit( 'ready', data );
+                                       this.opened = $.Deferred();
+                                       this.opening.resolve( this.opened.promise() );
+                                       // Now that we are totally done opening, it's safe to allow closing
+                                       this.closing = null;
+                               }, this ) );
                        }, this ) );
                }, this ) );
-       }
+       }, this ) );
 
-       return this;
+       return this.opening.promise();
 };
 
 /**
  * Close window.
  *
- * See #teardown for a way to do something each time the window closes.
+ * Do not override this method. Use #getTeardownProcess to do something each time the window closes.
  *
  * @param {Object} [data] Window closing data
  * @fires closing
  * @fires close
- * @chainable
+ * @return {jQuery.Promise} Promise resolved when window is closed
  */
 OO.ui.Window.prototype.close = function ( data ) {
-       if ( !this.opening && !this.closing && this.visible ) {
-               this.frame.$content.find( ':focus' ).blur();
-               this.closing = true;
+       // Return existing promise if already closing or closed
+       if ( this.closing ) {
+               return this.closing.promise();
+       }
+
+       // Close the window
+       this.opened.resolve();
+       // This.closing needs to exist before we emit the closing event so that handlers can call
+       // window.close() and trigger the safety check above
+       this.closing = $.Deferred();
+       this.frame.$content.find( ':focus' ).blur();
+       this.emit( 'closing', data );
+       this.getTeardownProcess( data ).execute().done( OO.ui.bind( function () {
+               this.emit( 'close', data );
                this.$element.hide();
                this.visible = false;
-               this.emit( 'closing', data );
-               this.teardown( data );
-               this.emit( 'close', data );
-               this.closing = false;
-       }
+               this.closing.resolve();
+               // Now that we are totally done closing, it's safe to allow opening
+               this.opening = null;
+       }, this ) );
 
-       return this;
+       return this.closing.promise();
 };
 /**
  * Set of mutually exclusive windows.
@@ -1573,7 +1605,7 @@ OO.ui.Dialog = function OoUiDialog( config ) {
 
        // Events
        this.$element.on( 'mousedown', false );
-       this.connect( this, { 'opening': 'onOpening' } );
+       this.connect( this, { 'open': 'onOpen' } );
 
        // Initialization
        this.$element.addClass( 'oo-ui-dialog' );
@@ -1659,8 +1691,10 @@ OO.ui.Dialog.prototype.onFrameDocumentKeyDown = function ( e ) {
        }
 };
 
-/** */
-OO.ui.Dialog.prototype.onOpening = function () {
+/**
+ * Handle window open events.
+ */
+OO.ui.Dialog.prototype.onOpen = function () {
        this.$element.addClass( 'oo-ui-dialog-open' );
 };
 
@@ -1692,7 +1726,7 @@ OO.ui.Dialog.prototype.setSize = function ( size ) {
  */
 OO.ui.Dialog.prototype.initialize = function () {
        // Parent method
-       OO.ui.Window.prototype.initialize.call( this );
+       OO.ui.Dialog.super.prototype.initialize.call( this );
 
        // Properties
        this.closeButton = new OO.ui.ButtonWidget( {
@@ -1718,41 +1752,29 @@ OO.ui.Dialog.prototype.initialize = function () {
 /**
  * @inheritdoc
  */
-OO.ui.Dialog.prototype.setup = function ( data ) {
-       // Parent method
-       OO.ui.Window.prototype.setup.call( this, data );
-
-       // Prevent scrolling in top-level window
-       this.$( window ).on( 'mousewheel', this.onWindowMouseWheelHandler );
-       this.$( document ).on( 'keydown', this.onDocumentKeyDownHandler );
+OO.ui.Dialog.prototype.getSetupProcess = function ( data ) {
+       return OO.ui.Dialog.super.prototype.getSetupProcess.call( this, data )
+               .next( function () {
+                       // Prevent scrolling in top-level window
+                       this.$( window ).on( 'mousewheel', this.onWindowMouseWheelHandler );
+                       this.$( document ).on( 'keydown', this.onDocumentKeyDownHandler );
+               }, this );
 };
 
 /**
  * @inheritdoc
  */
-OO.ui.Dialog.prototype.teardown = function ( data ) {
-       // Parent method
-       OO.ui.Window.prototype.teardown.call( this, data );
-
-       // Allow scrolling in top-level window
-       this.$( window ).off( 'mousewheel', this.onWindowMouseWheelHandler );
-       this.$( document ).off( 'keydown', this.onDocumentKeyDownHandler );
-};
-
-/**
- * @inheritdoc
- */
-OO.ui.Dialog.prototype.close = function ( data ) {
-       var dialog = this;
-       if ( !dialog.opening && !dialog.closing && dialog.visible ) {
-               // Trigger transition
-               dialog.$element.removeClass( 'oo-ui-dialog-open' );
-               // Allow transition to complete before actually closing
-               setTimeout( function () {
-                       // Parent method
-                       OO.ui.Window.prototype.close.call( dialog, data );
-               }, 250 );
-       }
+OO.ui.Dialog.prototype.getTeardownProcess = function ( data ) {
+       return OO.ui.Dialog.super.prototype.getTeardownProcess.call( this, data )
+               .first( function () {
+                       this.$element.removeClass( 'oo-ui-dialog-open' );
+                       return OO.ui.Process.static.delay( 250 );
+               }, this )
+               .next( function () {
+                       // Allow scrolling in top-level window
+                       this.$( window ).off( 'mousewheel', this.onWindowMouseWheelHandler );
+                       this.$( document ).off( 'keydown', this.onDocumentKeyDownHandler );
+               }, this );
 };
 
 /**
@@ -1911,6 +1933,122 @@ OO.ui.Widget.prototype.setDisabled = function ( disabled ) {
        this.wasDisabled = isDisabled;
        return this;
 };
+/**
+ * A list of functions, called in sequence.
+ *
+ * If a function added to a process returns boolean false the process will stop; if it returns an
+ * object with a `promise` method the process will use the promise to either continue to the next
+ * step when the promise is resolved or stop when the promise is rejected.
+ *
+ * @class
+ *
+ * @constructor
+ */
+OO.ui.Process = function () {
+       // Properties
+       this.steps = [];
+};
+
+/* Setup */
+
+OO.initClass( OO.ui.Process );
+
+/* Static Methods */
+
+/**
+ * Generate a promise which is resolved after a set amount of time.
+ *
+ * @param {number} length Number of milliseconds before resolving the promise
+ * @return {jQuery.Promise} Promise that will be resolved after a set amount of time
+ */
+OO.ui.Process.static.delay = function ( length ) {
+       var deferred = $.Deferred();
+
+       setTimeout( function () {
+               deferred.resolve();
+       }, length );
+
+       return deferred.promise();
+};
+
+/* Methods */
+
+/**
+ * Start the process.
+ *
+ * @return {jQuery.Promise} Promise that is resolved when all steps have completed or rejected when
+ *   any of the steps return boolean false or a promise which gets rejected; upon stopping the
+ *   process, the remaining steps will not be taken
+ */
+OO.ui.Process.prototype.execute = function () {
+       var i, len, promise;
+
+       /**
+        * Continue execution.
+        *
+        * @ignore
+        * @param {Array} step A function and the context it should be called in
+        * @return {Function} Function that continues the process
+        */
+       function proceed( step ) {
+               return function () {
+                       // Execute step in the correct context
+                       var result = step[0].call( step[1] );
+
+                       if ( result === false ) {
+                               // Use rejected promise for boolean false results
+                               return $.Deferred().reject().promise();
+                       }
+                       // Duck-type the object to see if it can produce a promise
+                       if ( result && $.isFunction( result.promise ) ) {
+                               // Use a promise generated from the result
+                               return result.promise();
+                       }
+                       // Use resolved promise for other results
+                       return $.Deferred().resolve().promise();
+               };
+       }
+
+       if ( this.steps.length ) {
+               // Generate a chain reaction of promises
+               promise = proceed( this.steps[0] )();
+               for ( i = 1, len = this.steps.length; i < len; i++ ) {
+                       promise = promise.then( proceed( this.steps[i] ) );
+               }
+       } else {
+               promise = $.Deferred().resolve().promise();
+       }
+
+       return promise;
+};
+
+/**
+ * Add step to the beginning of the process.
+ *
+ * @param {Function} step Function to execute; if it returns boolean false the process will stop; if
+ *   it returns an object with a `promise` method the process will use the promise to either
+ *   continue to the next step when the promise is resolved or stop when the promise is rejected
+ * @param {Object} [context=null] Context to call the step function in
+ * @chainable
+ */
+OO.ui.Process.prototype.first = function ( step, context ) {
+       this.steps.unshift( [ step, context || null ] );
+       return this;
+};
+
+/**
+ * Add step to the end of the process.
+ *
+ * @param {Function} step Function to execute; if it returns boolean false the process will stop; if
+ *   it returns an object with a `promise` method the process will use the promise to either
+ *   continue to the next step when the promise is resolved or stop when the promise is rejected
+ * @param {Object} [context=null] Context to call the step function in
+ * @chainable
+ */
+OO.ui.Process.prototype.next = function ( step, context ) {
+       this.steps.push( [ step, context || null ] );
+       return this;
+};
 /**
  * Dialog for showing a confirmation/warning message.
  *
@@ -1958,10 +2096,10 @@ OO.ui.ConfirmationDialog.prototype.initialize = function () {
        this.$promptContainer = this.$( '<div>' ).addClass( 'oo-ui-dialog-confirm-promptContainer' );
 
        this.cancelButton = new OO.ui.ButtonWidget();
-       this.cancelButton.connect( this, { 'click': [ 'emit', 'cancel' ] } );
+       this.cancelButton.connect( this, { 'click': [ 'emit', 'done', 'cancel' ] } );
 
        this.okButton = new OO.ui.ButtonWidget();
-       this.okButton.connect( this, { 'click': [ 'emit', 'ok' ] } );
+       this.okButton.connect( this, { 'click': [ 'emit', 'done', 'ok' ] } );
 
        // Make the buttons
        contentLayout.$element.append( this.$promptContainer );
@@ -1973,8 +2111,7 @@ OO.ui.ConfirmationDialog.prototype.initialize = function () {
        );
 
        this.connect( this, {
-               'ok': 'close',
-               'cancel': 'close',
+               'done': 'close',
                'close': [ 'emit', 'cancel' ]
        } );
 };
@@ -2046,6 +2183,21 @@ OO.ui.ButtonedElement = function OoUiButtonedElement( $button, config ) {
        }
 };
 
+/* Setup */
+
+OO.initClass( OO.ui.ButtonedElement );
+
+/* Static Properties */
+
+/**
+ * Cancel mouse down events.
+ *
+ * @static
+ * @inheritable
+ * @property {boolean}
+ */
+OO.ui.ButtonedElement.static.cancelButtonMouseDownEvents = true;
+
 /* Methods */
 
 /**
@@ -2057,16 +2209,20 @@ OO.ui.ButtonedElement.prototype.onMouseDown = function ( e ) {
        if ( this.isDisabled() || e.which !== 1 ) {
                return false;
        }
-       // tabIndex should generally be interacted with via the property,
-       // but it's not possible to reliably unset a tabIndex via a property
-       // so we use the (lowercase) "tabindex" attribute instead.
+       // tabIndex should generally be interacted with via the property, but it's not possible to
+       // reliably unset a tabIndex via a property so we use the (lowercase) "tabindex" attribute
        this.tabIndex = this.$button.attr( 'tabindex' );
-       // Remove the tab-index while the button is down to prevent the button from stealing focus
        this.$button
+               // Remove the tab-index while the button is down to prevent the button from stealing focus
                .removeAttr( 'tabindex' )
                .addClass( 'oo-ui-buttonedElement-pressed' );
+       // Run the mouseup handler no matter where the mouse is when the button is let go, so we can
+       // reliably reapply the tabindex and remove the pressed class
        this.getElementDocument().addEventListener( 'mouseup', this.onMouseUpHandler, true );
-       return false;
+       // Prevent change of focus unless specifically configured otherwise
+       if ( this.constructor.static.cancelButtonMouseDownEvents ) {
+               return false;
+       }
 };
 
 /**
@@ -2078,10 +2234,11 @@ OO.ui.ButtonedElement.prototype.onMouseUp = function ( e ) {
        if ( this.isDisabled() || e.which !== 1 ) {
                return false;
        }
-       // Restore the tab-index after the button is up to restore the button's accesssibility
        this.$button
+               // Restore the tab-index after the button is up to restore the button's accesssibility
                .attr( 'tabindex', this.tabIndex )
                .removeClass( 'oo-ui-buttonedElement-pressed' );
+       // Stop listening for mouseup, since we only needed this once
        this.getElementDocument().removeEventListener( 'mouseup', this.onMouseUpHandler, true );
 };
 
@@ -4832,6 +4989,7 @@ OO.ui.StackLayout.prototype.unsetCurrentItem = function () {
  * @chainable
  */
 OO.ui.StackLayout.prototype.addItems = function ( items, index ) {
+       // Mixin method
        OO.ui.GroupElement.prototype.addItems.call( this, items, index );
 
        if ( !this.currentItem && items.length ) {
@@ -4851,6 +5009,7 @@ OO.ui.StackLayout.prototype.addItems = function ( items, index ) {
  * @fires set
  */
 OO.ui.StackLayout.prototype.removeItems = function ( items ) {
+       // Mixin method
        OO.ui.GroupElement.prototype.removeItems.call( this, items );
 
        if ( $.inArray( this.currentItem, items  ) !== -1 ) {
@@ -5046,7 +5205,7 @@ OO.ui.PopupToolGroup.prototype.onMouseUp = function ( e ) {
        if ( !this.isDisabled() && e.which === 1 ) {
                this.setActive( false );
        }
-       return OO.ui.ToolGroup.prototype.onMouseUp.call( this, e );
+       return OO.ui.PopupToolGroup.super.prototype.onMouseUp.call( this, e );
 };
 
 /**
@@ -5266,8 +5425,7 @@ OO.ui.GroupWidget.prototype.setDisabled = function ( disabled ) {
        var i, len;
 
        // Parent method
-       // Note this is calling OO.ui.Widget; we're assuming the class this is mixed into
-       // is a subclass of OO.ui.Widget.
+       // Note: Calling #setDisabled this way assumes this is mixed into an OO.ui.Widget
        OO.ui.Widget.prototype.setDisabled.call( this, disabled );
 
        // During construction, #setDisabled is called before the OO.ui.GroupElement constructor
@@ -5315,6 +5473,7 @@ OO.ui.ItemWidget.prototype.isDisabled = function () {
  */
 OO.ui.ItemWidget.prototype.setElementGroup = function ( group ) {
        // Parent method
+       // Note: Calling #setElementGroup this way assumes this is mixed into an OO.ui.Element
        OO.ui.Element.prototype.setElementGroup.call( this, group );
 
        // Initialize item disabled states
@@ -5702,7 +5861,7 @@ OO.ui.InputWidget.prototype.setReadOnly = function ( state ) {
  * @inheritdoc
  */
 OO.ui.InputWidget.prototype.setDisabled = function ( state ) {
-       OO.ui.Widget.prototype.setDisabled.call( this, state );
+       OO.ui.InputWidget.super.prototype.setDisabled.call( this, state );
        if ( this.$input ) {
                this.$input.prop( 'disabled', this.isDisabled() );
        }
@@ -6313,12 +6472,12 @@ OO.ui.SelectWidget = function OoUiSelectWidget( config ) {
        this.pressed = false;
        this.selecting = null;
        this.hashes = {};
+       this.onMouseUpHandler = OO.ui.bind( this.onMouseUp, this );
+       this.onMouseMoveHandler = OO.ui.bind( this.onMouseMove, this );
 
        // Events
        this.$element.on( {
                'mousedown': OO.ui.bind( this.onMouseDown, this ),
-               'mouseup': OO.ui.bind( this.onMouseUp, this ),
-               'mousemove': OO.ui.bind( this.onMouseMove, this ),
                'mouseover': OO.ui.bind( this.onMouseOver, this ),
                'mouseleave': OO.ui.bind( this.onMouseLeave, this )
        } );
@@ -6392,7 +6551,12 @@ OO.ui.SelectWidget.prototype.onMouseDown = function ( e ) {
                if ( item && item.isSelectable() ) {
                        this.pressItem( item );
                        this.selecting = item;
-                       this.$( this.$.context ).one( 'mouseup', OO.ui.bind( this.onMouseUp, this ) );
+                       this.getElementDocument().addEventListener(
+                               'mouseup', this.onMouseUpHandler, true
+                       );
+                       this.getElementDocument().addEventListener(
+                               'mousemove', this.onMouseMoveHandler, true
+                       );
                }
        }
        return false;
@@ -6420,6 +6584,13 @@ OO.ui.SelectWidget.prototype.onMouseUp = function ( e ) {
                this.selecting = null;
        }
 
+       this.getElementDocument().removeEventListener(
+               'mouseup', this.onMouseUpHandler, true
+       );
+       this.getElementDocument().removeEventListener(
+               'mousemove', this.onMouseMoveHandler, true
+       );
+
        return false;
 };
 
@@ -6723,7 +6894,8 @@ OO.ui.SelectWidget.prototype.addItems = function ( items, index ) {
                this.removeItems( remove );
        }
 
-       OO.ui.GroupElement.prototype.addItems.call( this, items, index );
+       // Mixin method
+       OO.ui.GroupWidget.prototype.addItems.call( this, items, index );
 
        // Always provide an index, even if it was omitted
        this.emit( 'add', items, index === undefined ? this.items.length - items.length - 1 : index );
@@ -6754,7 +6926,9 @@ OO.ui.SelectWidget.prototype.removeItems = function ( items ) {
                        this.selectItem( null );
                }
        }
-       OO.ui.GroupElement.prototype.removeItems.call( this, items );
+
+       // Mixin method
+       OO.ui.GroupWidget.prototype.removeItems.call( this, items );
 
        this.emit( 'remove', items );
 
@@ -6774,7 +6948,8 @@ OO.ui.SelectWidget.prototype.clearItems = function () {
 
        // Clear all items
        this.hashes = {};
-       OO.ui.GroupElement.prototype.clearItems.call( this );
+       // Mixin method
+       OO.ui.GroupWidget.prototype.clearItems.call( this );
        this.selectItem( null );
 
        this.emit( 'remove', items );
@@ -6983,7 +7158,7 @@ OO.ui.MenuWidget.prototype.addItems = function ( items, index ) {
        var i, len, item;
 
        // Parent method
-       OO.ui.SelectWidget.prototype.addItems.call( this, items, index );
+       OO.ui.MenuWidget.super.prototype.addItems.call( this, items, index );
 
        // Auto-initialize
        if ( !this.newItems ) {
@@ -7498,13 +7673,18 @@ OO.inheritClass( OO.ui.ButtonOptionWidget, OO.ui.OptionWidget );
 OO.mixinClass( OO.ui.ButtonOptionWidget, OO.ui.ButtonedElement );
 OO.mixinClass( OO.ui.ButtonOptionWidget, OO.ui.FlaggableElement );
 
+/* Static Properties */
+
+// Allow button mouse down events to pass through so they can be handled by the parent select widget
+OO.ui.ButtonOptionWidget.static.cancelButtonMouseDownEvents = false;
+
 /* Methods */
 
 /**
  * @inheritdoc
  */
 OO.ui.ButtonOptionWidget.prototype.setSelected = function ( state ) {
-       OO.ui.OptionWidget.prototype.setSelected.call( this, state );
+       OO.ui.ButtonOptionWidget.super.prototype.setSelected.call( this, state );
 
        this.setActive( state );
 
@@ -7824,7 +8004,7 @@ OO.ui.PopupButtonWidget.prototype.onClick = function ( e ) {
                } else {
                        this.showPopup();
                }
-               OO.ui.ButtonWidget.prototype.onClick.call( this );
+               OO.ui.PopupButtonWidget.super.prototype.onClick.call( this );
        }
        return false;
 };
@@ -8073,7 +8253,7 @@ OO.ui.TextInputWidget.prototype.onEdit = function () {
        this.adjustSize();
 
        // Parent method
-       return OO.ui.InputWidget.prototype.onEdit.call( this );
+       return OO.ui.TextInputWidget.super.prototype.onEdit.call( this );
 };
 
 /**
@@ -8239,7 +8419,7 @@ OO.ui.TextInputMenuWidget.prototype.onWindowResize = function () {
  */
 OO.ui.TextInputMenuWidget.prototype.show = function () {
        // Parent method
-       OO.ui.MenuWidget.prototype.show.call( this );
+       OO.ui.TextInputMenuWidget.super.prototype.show.call( this );
 
        this.position();
        this.$( this.getElementWindow() ).on( 'resize', this.onWindowResizeHandler );
@@ -8253,7 +8433,7 @@ OO.ui.TextInputMenuWidget.prototype.show = function () {
  */
 OO.ui.TextInputMenuWidget.prototype.hide = function () {
        // Parent method
-       OO.ui.MenuWidget.prototype.hide.call( this );
+       OO.ui.TextInputMenuWidget.super.prototype.hide.call( this );
 
        this.$( this.getElementWindow() ).off( 'resize', this.onWindowResizeHandler );
        return this;
@@ -8393,7 +8573,7 @@ OO.ui.ToggleButtonWidget.prototype.onClick = function () {
        }
 
        // Parent method
-       return OO.ui.ButtonWidget.prototype.onClick.call( this );
+       return OO.ui.ToggleButtonWidget.super.prototype.onClick.call( this );
 };
 
 /**
@@ -8406,7 +8586,7 @@ OO.ui.ToggleButtonWidget.prototype.setValue = function ( value ) {
        }
 
        // Parent method
-       OO.ui.ToggleWidget.prototype.setValue.call( this, value );
+       OO.ui.ToggleButtonWidget.super.prototype.setValue.call( this, value );
 
        return this;
 };
index 74073a0..6c27f57 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (09b223d279)
+ * OOjs UI v0.1.0-pre (dd888aba5c)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Wed May 28 2014 18:37:12 GMT-0700 (PDT)
+ * Date: Fri May 30 2014 21:28:55 GMT-0700 (PDT)
  */
 
 /* Textures */
index 72056b9..7385d0e 100644 (file)
@@ -39,7 +39,6 @@ class SkinMonoBook extends SkinTemplate {
        public $skinname = 'monobook';
        public $stylename = 'monobook';
        public $template = 'MonoBookTemplate';
-       public $useHeadElement = true;
 
        /**
         * @param OutputPage $out
index 35861c2..db731af 100644 (file)
@@ -32,7 +32,6 @@ if ( !defined( 'MEDIAWIKI' ) ) {
  * @ingroup Skins
  */
 class SkinVector extends SkinTemplate {
-       public $useHeadElement = true;
        public $skinname = 'vector';
        public $stylename = 'vector';
        public $template = 'VectorTemplate';
index 9344433..e24bea9 100644 (file)
                $.collapsibleTabs.handleResize();
                return this;
        };
-       /**
-        * Returns the amount of horizontal distance between the two tabs groups
-        * (#left-navigation and #right-navigation), in pixels. If negative, this
-        * means that the tabs overlap, and the value is the width of overlapping
-        * parts.
-        *
-        * Used in default expandCondition and collapseCondition.
-        *
-        * @return {Numeric} distance/overlap in pixels
-        */
-       function calculateTabDistance() {
-               var $leftTab, $rightTab, leftEnd, rightStart;
-
-               // In RTL, #right-navigation is actually on the left and vice versa.
-               // Hooray for descriptive naming.
-               if ( !rtl ) {
-                       $leftTab = $( '#left-navigation' );
-                       $rightTab = $( '#right-navigation' );
-               } else {
-                       $leftTab = $( '#right-navigation' );
-                       $rightTab = $( '#left-navigation' );
-               }
-
-               leftEnd = $leftTab.offset().left + $leftTab.width();
-               rightStart = $rightTab.offset().left;
-
-               return rightStart - leftEnd;
-       }
        $.collapsibleTabs = {
                instances: [],
                boundEvent: null,
                        shifting: false,
                        expandCondition: function ( eleWidth ) {
                                // If there are at least eleWidth + 1 pixels of free space, expand.
-                               // We add 1 because .width() will truncate fractional values
-                               // but .offset() will not.
-                               return calculateTabDistance() >= (eleWidth + 1);
+                               // We add 1 because .width() will truncate fractional values but .offset() will not.
+                               return $.collapsibleTabs.calculateTabDistance() >= eleWidth + 1;
                        },
                        collapseCondition: function () {
                                // If there's an overlap, collapse.
-                               return calculateTabDistance() < 0;
+                               return $.collapsibleTabs.calculateTabDistance() < 0;
                        }
                },
                addData: function ( $collapsible ) {
                                        }
                                } )
                        );
+               },
+               /**
+                * Returns the amount of horizontal distance between the two tabs groups
+                * (#left-navigation and #right-navigation), in pixels. If negative, this
+                * means that the tabs overlap, and the value is the width of overlapping
+                * parts.
+                *
+                * Used in default expandCondition and collapseCondition.
+                *
+                * @return {Numeric} distance/overlap in pixels
+                */
+               calculateTabDistance: function () {
+                       var $leftTab, $rightTab, leftEnd, rightStart;
+
+                       // In RTL, #right-navigation is actually on the left and vice versa.
+                       // Hooray for descriptive naming.
+                       if ( !rtl ) {
+                               $leftTab = $( '#left-navigation' );
+                               $rightTab = $( '#right-navigation' );
+                       } else {
+                               $leftTab = $( '#right-navigation' );
+                               $rightTab = $( '#left-navigation' );
+                       }
+
+                       leftEnd = $leftTab.offset().left + $leftTab.width();
+                       rightStart = $rightTab.offset().left;
+
+                       return rightStart - leftEnd;
                }
        };
 
index 7e24ae7..e43f69a 100644 (file)
@@ -3,8 +3,7 @@ Styling for namespace tabs (page, discussion) and views (read, edit, view histor
 */
 
 /* Navigation Labels */
-div.vectorTabs h3,
-div.vectorMenu h3 span {
+div.vectorTabs h3 {
        display: none;
 }
 
@@ -120,21 +119,8 @@ div.vectorMenu {
        direction: ltr;
        /* @noflip */
        float: left;
-       .background-image-svg('images/arrow-down-icon.svg', 'images/arrow-down-icon.png');
-       /* @noflip */
-       background-position: 100% 60%;
-       background-repeat: no-repeat;
        cursor: pointer;
-       .transition(background-position 250ms);
-}
-
-div.vectorMenu.menuForceShow {
-       background-position: 100% 100%;
-}
-
-div.vectorMenuFocus {
-       .background-image-svg('images/arrow-down-focus-icon.svg', 'images/arrow-down-focus-icon.png');
-       background-position: 100% 60%;
+       position: relative;
 }
 
 body.rtl div.vectorMenu {
@@ -142,19 +128,19 @@ body.rtl div.vectorMenu {
        direction: rtl;
 }
 
-/* OVERRIDDEN BY COMPLIANT BROWSERS */
 div#mw-head div.vectorMenu h3 {
        /* @noflip */
        float: left;
        .background-image('images/tab-break.png');
        background-repeat: no-repeat;
-       background-position: bottom left;
+       background-position: bottom right;
        margin-left: -1px;
-}
-
-/* IGNORED BY IE6 */
-div#mw-head div.vectorMenu > h3 {
-       background-image: none;
+       font-size: 1em;
+       height: 2.5em;
+       // This effectively moves the "background border" outside of the element to act like a real
+       // border. It is necessary for the dropdown (div.vectorMenu div.menu) to align well.
+       padding-right: 1px;
+       margin-right: -1px;
 }
 
 div#mw-head div.vectorMenu h4,
@@ -168,47 +154,51 @@ div.vectorMenu#p-variants #mw-vector-current-variant {
        border: none;
 }
 
-/* OVERRIDDEN BY COMPLIANT BROWSERS */
-div.vectorMenu h3 a {
-       display: inline-block;
-       width: 24px;
-       height: 1.9em;
-       text-decoration: none;
-       .background-image('images/tab-break.png');
-       background-repeat: no-repeat;
-       background-position: bottom right;
-}
-
-/* IGNORED BY IE6 */
-div.vectorMenu h3 > a {
+div.vectorMenu h3 span {
        display: block;
+       font-size: 0.8em;
+       padding-left: 0.7em;
+       padding-top: 1.375em;
+       margin-right: 20px;
+       font-weight: normal;
+       color: @menu-main-heading-color;
 }
 
-div.vectorMenu div.menu {
-       position: relative;
-       display: none;
-       clear: both;
-       text-align: left;
+div.vectorMenu h3 a {
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 20px;
+       height: 2.5em;
+       .background-image-svg('images/arrow-down-icon.svg', 'images/arrow-down-icon.png');
+       background-position: 100% 70%;
+       background-repeat: no-repeat;
+       .transition(all 250ms);
 }
 
-/* OVERRIDDEN BY COMPLIANT BROWSERS */
-body.rtl div.vectorMenu div.menu {
-       /* @noflip */
-       margin-left: 24px;
+div.vectorMenu.menuForceShow h3 a {
+       -webkit-transform: rotate(-45deg) translate(-5px, 5px);
+       -moz-transform: rotate(-45deg) translate(-5px, 5px);
+       -ms-transform: rotate(-45deg) translate(-5px, 5px);
+       transform: rotate(-45deg) translate(-5px, 5px);
 }
 
-/* IGNORED BY IE6 */
-body.rtl div.vectorMenu > div.menu {
-       /* @noflip */
-       margin-left: auto;
+div.vectorMenuFocus h3 a {
+       .background-image-svg('images/arrow-down-focus-icon.svg', 'images/arrow-down-focus-icon.png');
 }
 
-/* IGNORED BY IE6 */
-/* Also fixes old versions of FireFox */
-body.rtl div.vectorMenu > div.menu,
-x:-moz-any-link {
-       /* @noflip */
-       margin-left: 23px;
+div.vectorMenu div.menu {
+       // Match the width of the dropdown "heading" (the tab)
+       min-width: 100%;
+       position: absolute;
+       top: 2.5em;
+       left: -1px;
+       background-color: white;
+       border: solid 1px silver;
+       border-top-width: 0;
+       clear: both;
+       text-align: left;
+       display: none;
 }
 
 /* Enable forcing showing of the menu for accessibility */
@@ -218,15 +208,10 @@ div.vectorMenu.menuForceShow div.menu {
 }
 
 div.vectorMenu ul {
-       position: absolute;
-       background-color: white;
-       border: solid 1px silver;
-       border-top-width: 0;
        list-style-type: none;
        list-style-image: none;
        padding: 0;
        margin: 0;
-       margin-left: -1px;
        text-align: left;
 }
 
index 58ba2af..c603615 100644 (file)
@@ -35,28 +35,67 @@ jQuery( function ( $ ) {
        /**
         * Collapsible tabs for Vector
         */
-       var $cactions = $( '#p-cactions' );
+       var $cactions = $( '#p-cactions' ),
+               $tabContainer = $( '#p-views ul' ),
+               originalDropdownWidth = $cactions.width();
 
        // Bind callback functions to animate our drop down menu in and out
        // and then call the collapsibleTabs function on the menu
-       $( '#p-views ul' )
+       $tabContainer
                .bind( 'beforeTabCollapse', function () {
                        // If the dropdown was hidden, show it
                        if ( $cactions.hasClass( 'emptyPortlet' ) ) {
                                $cactions
                                        .removeClass( 'emptyPortlet' )
                                        .find( 'h3' )
-                                               .css( 'width', '1px' ).animate( { 'width': '24px' }, 390 );
+                                               .css( 'width', '1px' ).animate( { 'width': originalDropdownWidth }, 'normal' );
                        }
                } )
                .bind( 'beforeTabExpand', function () {
                        // If we're removing the last child node right now, hide the dropdown
                        if ( $cactions.find( 'li' ).length === 1 ) {
-                               $cactions.find( 'h3' ).animate( { 'width': '1px' }, 390, function () {
+                               $cactions.find( 'h3' ).animate( { 'width': '1px' }, 'normal', function () {
                                        $( this ).attr( 'style', '' )
                                                .parent().addClass( 'emptyPortlet' );
                                });
                        }
                } )
-               .collapsibleTabs();
+               .collapsibleTabs( {
+                       expandCondition: function ( eleWidth ) {
+                               // (This looks a bit awkward because we're doing expensive queries as late as possible.)
+
+                               var distance = $.collapsibleTabs.calculateTabDistance();
+                               // If there are at least eleWidth + 1 pixels of free space, expand.
+                               // We add 1 because .width() will truncate fractional values but .offset() will not.
+                               if ( distance >= eleWidth + 1 ) {
+                                       return true;
+                               } else {
+                                       // Maybe we can still expand? Account for the width of the "Actions" dropdown if the
+                                       // expansion would hide it.
+                                       if ( $cactions.find( 'li' ).length === 1 ) {
+                                               return distance >= eleWidth + 1 - originalDropdownWidth;
+                                       } else {
+                                               return false;
+                                       }
+                               }
+                       },
+                       collapseCondition: function () {
+                               // (This looks a bit awkward because we're doing expensive queries as late as possible.)
+                               // TODO The dropdown itself should probably "fold" to just the down-arrow (hiding the text)
+                               // if it can't fit on the line?
+
+                               // If there's an overlap, collapse.
+                               if ( $.collapsibleTabs.calculateTabDistance() < 0 ) {
+                                       // But only if the width of the tab to collapse is smaller than the width of the dropdown
+                                       // we would have to insert. An example language where this happens is Lithuanian (lt).
+                                       if ( $cactions.hasClass( 'emptyPortlet' ) ) {
+                                               return $tabContainer.children( 'li.collapsible:last' ).width() > originalDropdownWidth;
+                                       } else {
+                                               return true;
+                                       }
+                               } else {
+                                       return false;
+                               }
+                       }
+               } );
 } );
index 0bbee17..1875ac5 100644 (file)
@@ -1015,34 +1015,6 @@ class ParserTest {
                                'fileExists'  => true
                ), $this->db->timestamp( '20010115123500' ), $user );
 
-               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.png' ) );
-               # again, note that size/width/height below are ignored; see above.
-               $image->recordUpload2( '', 'Upload of tall bitmap', 'Some tall bitmap', array(
-                       'size'        => 12345,
-                       'width'       => 180,
-                       'height'      => 240,
-                       'bits'        => 8,
-                       'media_type'  => MEDIATYPE_BITMAP,
-                       'mime'        => 'image/png',
-                       'metadata'    => serialize( array() ),
-                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
-                       'fileExists'  => true
-               ), $this->db->timestamp( '20140515134200' ), $user );
-
-               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.svg' ) );
-               # again, note that size/width/height below are ignored; see above.
-               $image->recordUpload2( '', 'Upload of tall SVG', 'Some tall SVG', array(
-                       'size'        => 12345,
-                       'width'       => 180,
-                       'height'      => 240,
-                       'bits'        => 24,
-                       'media_type'  => MEDIATYPE_DRAWING,
-                       'mime'        => 'image/svg+xml',
-                       'metadata'    => serialize( array() ),
-                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
-                       'fileExists'  => true
-               ), $this->db->timestamp( '20140325124200' ), $user );
-
                # This image will be blacklisted in [[MediaWiki:Bad image list]]
                $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Bad.jpg' ) );
                $image->recordUpload2( '', 'zomgnotcensored', 'Borderline image', array(
@@ -1172,13 +1144,6 @@ class ParserTest {
                        '<?xml version="1.0" encoding="utf-8"?>' .
                        '<svg xmlns="http://www.w3.org/2000/svg"' .
                        ' version="1.1" width="240" height="180"/>' );
-               wfMkdirParents( $dir . '/9/93', null, __METHOD__ );
-               copy( "$IP/tests/phpunit/data/media/Portrait.png", "$dir/9/93/Portrait.png" );
-               wfMkdirParents( $dir . '/f/fc', null, __METHOD__ );
-               file_put_contents( "$dir/f/fc/Portrait.svg",
-                       '<?xml version="1.0" encoding="utf-8"?>' .
-                       '<svg xmlns="http://www.w3.org/2000/svg"' .
-                       ' version="1.1" width="180" height="240"/>' );
                wfMkdirParents( $dir . '/5/5f', null, __METHOD__ );
                copy( "$IP/tests/phpunit/data/media/LoremIpsum.djvu", "$dir/5/5f/LoremIpsum.djvu" );
 
@@ -1265,17 +1230,6 @@ class ParserTest {
                                "$dir/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
                                "$dir/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
 
-                               "$dir/9/93/Portrait.png",
-                               "$dir/thumb/9/93/Portrait.png/165px-Portrait.png",
-
-                               "$dir/f/fc/Portrait.svg",
-                               "$dir/thumb/f/fc/Portrait.svg/165px-Portrait.svg.png",
-                               "$dir/thumb/f/fc/Portrait.svg/225px-Portrait.svg.png",
-                               "$dir/thumb/f/fc/Portrait.svg/247px-Portrait.svg.png",
-                               "$dir/thumb/f/fc/Portrait.svg/330px-Portrait.svg.png",
-                               "$dir/thumb/f/fc/Portrait.svg/337px-Portrait.svg.png",
-                               "$dir/thumb/f/fc/Portrait.svg/450px-Portrait.svg.png",
-
                                "$dir/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
                );
@@ -1287,18 +1241,10 @@ class ParserTest {
                                "$dir/thumb/3/3a/Foobar.jpg",
                                "$dir/thumb/3/3a",
                                "$dir/thumb/3",
-                               "$dir/9/93",
-                               "$dir/9",
-                               "$dir/thumb/9/93/Portrait.png",
-                               "$dir/thumb/9/93/",
-                               "$dir/thumb/9/",
                                "$dir/e/ea",
                                "$dir/e",
-                               "$dir/f/fc/",
                                "$dir/f/ff/",
                                "$dir/f/",
-                               "$dir/thumb/f/fc/Portrait.svg",
-                               "$dir/thumb/f/fc/",
                                "$dir/thumb/f/ff/Foobar.svg",
                                "$dir/thumb/f/ff/",
                                "$dir/thumb/f/",
index 55801aa..3e66bdd 100644 (file)
@@ -1992,11 +1992,34 @@ Templates: Indent-Pre: 1f: Wrapping should be based on expanded content
 Things that look like <pre> tags aren't treated as such
 !! wikitext
 Barack Obama <President> of the United States
+<President></President>
 !! html
 <p>Barack Obama &lt;President&gt; of the United States
+&lt;President&gt;&lt;/President&gt;
 </p>
 !! end
 
+## PHP parser discards the "<pre " string
+!! test
+Handle broken pre-like tags (bug 64025)
+!! options
+parsoid=wt2html
+!! wikitext
+{{echo|<pre <pre>x</pre>}}
+
+<table><pre </table>
+!! html/php
+<pre>x</pre>
+<table><pre></pre></table>
+
+!! html/parsoid
+<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;pre &lt;pre>x&lt;/pre>"}},"i":0}}]}'>&lt;pre </span>
+<pre>x</pre>
+
+<span>&lt;pre </span>
+<table></table>
+!! end
+
 !! test
 Parsoid: handle pre with space after attribute
 !! options
@@ -2689,8 +2712,81 @@ foo
 foo
 </pre>
 
+!! html/parsoid
+<pre data-parsoid='{"stx":"html"}'>foo</pre>
+
+<pre data-parsoid='{"stx":"html","strippedNL":"\n"}'>
+foo
+</pre>
+
+<pre data-parsoid='{"stx":"html"}'>
+
+foo
+</pre>
+
+<pre data-parsoid='{"stx":"html"}'>
+
+
+foo
+</pre>
 !!end
 
+!! test
+HTML-pre: big spaces
+!! wikitext
+<pre>
+
+
+
+
+haha
+
+
+
+
+haha
+
+
+
+
+</pre>
+!! html
+<pre>
+
+
+
+
+haha
+
+
+
+
+haha
+
+
+
+
+</pre>
+
+!! html/parsoid
+<pre data-parsoid='{"stx":"html"}'>
+
+
+
+
+haha
+
+
+
+
+haha
+
+
+
+
+</pre>
+!! end
+
 !!test
 HTML-pre: 2: indented text
 !! wikitext
@@ -3839,6 +3935,20 @@ foo//example.com/Foo
 </p>
 !! end
 
+!! test
+External links: with no contents
+!! wikitext
+[http://en.wikipedia.org/wiki/Foo]
+
+[[wikipedia:Foo|Bar]]
+
+[[wikipedia:Foo|<span>Bar</span>]]
+!! html/parsoid
+<p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"></a></p>
+<p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo">Bar</a></p>
+<p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"><span>Bar</span></a></p>
+!! end
+
 !! test
 External image
 !! wikitext
@@ -4344,6 +4454,50 @@ Anchor containing a #. (bug 63430)
 <p><a rel="mw:WikiLink" href="./Main_Page#And%23Link">Main Page#And#Link</a></p>
 !! end
 
+# Note that parsoid does not munge anchor text; all non-space
+# characters are valid in HTML5 ids.
+!! test
+Anchor containing a #. (bug 63430)
+!! wikitext
+[[Main Page#And#Link]]
+!! html/php
+<p><a href="/wiki/Main_Page#And.23Link" title="Main Page">Main Page#And#Link</a>
+</p>
+!! html/parsoid
+<p><a rel="mw:WikiLink" href="./Main_Page#And%23Link">Main Page#And#Link</a></p>
+!! end
+
+!! test
+External link containing a period in the anchor. (bug 63947)
+!! wikitext
+[//foo.org/bar#baz. bang]
+
+[//foo.org/bar. bang]
+!! html/php
+<p><a rel="nofollow" class="external text" href="//foo.org/bar#baz.">bang</a>
+</p><p><a rel="nofollow" class="external text" href="//foo.org/bar.">bang</a>
+</p>
+!! html/parsoid
+<p><a rel="mw:ExtLink" href="//foo.org/bar#baz.">bang</a></p>
+<p><a rel="mw:ExtLink" href="//foo.org/bar.">bang</a></p>
+!! end
+
+!! test
+External link containing a single quote. (bug 63947)
+!! wikitext
+[//foo.org/bar'baz]
+
+[//foo.org/bar'baz bang]
+!! html/php
+<p><a rel="nofollow" class="external autonumber" href="//foo.org/bar'baz">[1]</a>
+</p><p><a rel="nofollow" class="external text" href="//foo.org/bar'baz">bang</a>
+</p>
+!! html/parsoid
+<p><a rel="mw:ExtLink" href="//foo.org/bar'baz"></a></p>
+<p><a rel="mw:ExtLink" href="//foo.org/bar'baz">bang</a></p>
+!! end
+
+
 !! test
 External link containing a period in the anchor. (bug 63947)
 !! wikitext
@@ -4562,7 +4716,7 @@ Parenthesis in external links, w/ transclusion or comment
 </p><p>(<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
 </p>
 !! html/parsoid
-<p>(<a data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;hi&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[20,31,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\">hi&lt;/span>"}]]}' typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}'>http://example.com/hi</a>)</p>
+<p>(<a data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;hi&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[20,31,null,null]}\">hi&lt;/span>"}]]}' typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}'>http://example.com/hi</a>)</p>
 
 <p>(<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url","a":{"href":"http://example.com"},"sa":{"href":"http://example.com&lt;!-- hi -->"}}'>http://example.com</a>)</p>
 !! end
@@ -5411,6 +5565,41 @@ parsoid=html2wt
  a<h1>foo</h1>
 !! end
 
+!! test
+Parsoid: Row-syntax table headings followed by comment & table cells
+!! options
+parsoid=wt2html,wt2wt
+!! wikitext
+{|
+! foo || bar
+<!-- foo -->  || baz || quux
+|}
+!! html/parsoid
+<table>
+<tbody>
+<tr><th>foo </th><th>bar  </th>
+<td>baz </td>
+<td>quux</td></tr></tbody></table>
+!! end
+
+
+!!test
+Parsoid: Recover better from broken table attributes
+!!options
+parsoid=wt2html
+!!wikitext
+{| class="foo
+| class="bar" |
+foo
+|}
+!!html/parsoid
+<table class="foo">
+<tr>
+<td class="bar">
+<p>foo</p></td></tr>
+</tbody></table>
+!!end
+
 ###
 ### Internal links
 ###
@@ -5602,6 +5791,15 @@ Link to namespaces
 </p>
 !! end
 
+!! test
+Link with space in namespace
+!! wikitext
+[[User talk:Foo bar]]
+!! html
+<p><a href="/index.php?title=User_talk:Foo_bar&amp;action=edit&amp;redlink=1" class="new" title="User talk:Foo bar (page does not exist)">User talk:Foo bar</a>
+</p>
+!! end
+
 !! article
 MemoryAlpha:AlphaTest
 !! text
@@ -6356,8 +6554,7 @@ parsoid
 !! wikitext
 [[ko:]]
 !! html
-<p>
-<link rel="mw:PageProp/Language" href="http://ko.wikipedia.org/wiki/"></p>
+<p><link rel="mw:PageProp/Language" href="http://ko.wikipedia.org/wiki/"></p>
 !! end
 
 !! test
@@ -6406,6 +6603,17 @@ parsoid=wt2html,wt2wt
 <link rel="mw:PageProp/redirect" href="./%5B%5BBar%5D%5D">
 !! end
 
+!! test
+Empty redirect
+!! options
+parsoid=wt2html,wt2wt
+!! wikitext
+#REDIRECT [[]]
+!! html
+<ol>
+<li>REDIRECT [[]]</li></ol>
+!! end
+
 !! test
 Optional colon in #REDIRECT
 !! options
@@ -6567,8 +6775,11 @@ Parsoid: Broken br tag recognition
 parsoid=wt2html
 !! wikitext
 </br>
+
+<br/ >
 !! html/parsoid
 <p><br></p>
+<p><br/></p>
 !! end
 
 !! test
@@ -7755,7 +7966,7 @@ Magic Word: {{NUMBEROFFILES}}
 !! wikitext
 {{NUMBEROFFILES}}
 !! html
-<p>7
+<p>5
 </p>
 !! end
 
@@ -8871,6 +9082,44 @@ parsoid
 
 !!end
 
+###
+### Token Stream Patcher tests
+###
+### These tests won't always pass wt2wt and other modes because
+### on serialization, the table will be output on a new line.
+### For now, we are blacklisting them, and using this to test selser.
+###
+
+!!test
+1. Table tag in SOL posn. should get reparsed correctly with valid TSR
+!!options
+parsoid=wt2html,wt2wt
+!!wikitext
+{{echo|}}{| width = '100%'
+|foo
+|}
+!!html/parsoid
+<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":""}},"i":0}}]}'></span>
+<table width="100%">
+<tbody>
+<tr>
+<td>foo</td></tr></tbody></table>
+!!end
+
+!!test
+2. Table tag in SOL posn. should get reparsed correctly with valid TSR
+!!options
+parsoid=wt2html,wt2wt
+!!wikitext
+<includeonly>a</includeonly>{| {{{b}}}
+|c
+|}
+!!html/parsoid
+<meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"&lt;includeonly>a&lt;/includeonly>"}'/><meta typeof="mw:Includes/IncludeOnly/End" data-parsoid='{"src":"&lt;/includeonly>"}'/><span typeof="mw:Param" about="#mwt1" id="mwt1" data-mw="{}">{{{b}}}</span><table about="#mwt1">
+<tbody><tr><td>c</td></tr>
+</tbody></table>
+!!end
+
 ###
 ### Testing parsing of templates where a template arg
 ### has the same name as the template itself.
@@ -10361,7 +10610,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[24,38,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\">137px&lt;/span>"}]]}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[24,38,null,null]}\">137px&lt;/span>"}]]}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
 !! end
 
 !! test
@@ -10372,7 +10621,7 @@ parsoid=wt2html,wt2wt,html2html
 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption</div></div></div>
 
 !! html/parsoid
-<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" data-mw='{"attribs":[["thumbnail",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;thumb&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[18,32,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\">thumb&lt;/span>"}],["width",{"html":"&lt;span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[33,47,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\">137px&lt;/span>"}]]}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
+<figure typeof="mw:Image/Thumb mw:ExpandedAttrs" data-mw='{"attribs":[["thumbnail",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;thumb&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[18,32,null,null]}\">thumb&lt;/span>"}],["width",{"html":"&lt;span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;137px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[33,47,null,null]}\">137px&lt;/span>"}]]}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
 !! end
 
 !! test
@@ -10383,7 +10632,7 @@ parsoid=wt2html,wt2wt,html2html
 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a>
 </p>
 !! html/parsoid
-<p><span typeof="mw:Image mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;50px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;dsr&amp;quot;:[18,31,null,null],&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]]}\">50px&lt;/span>"}]]}' data-parsoid='{"optList":[{"ck":"width","ak":"{{echo|50px}}"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
+<p><span typeof="mw:Image mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["width",{"html":"&lt;span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-mw=\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;50px&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\" data-parsoid=\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[18,31,null,null]}\">50px&lt;/span>"}]]}' data-parsoid='{"optList":[{"ck":"width","ak":"{{echo|50px}}"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
 !! end
 
 ## Parsoid does not provide editing support for images where templates produce multiple image attributes.
@@ -10793,16 +11042,12 @@ parsoid=wt2html,wt2wt,html2html
 # Image sizing.
 # See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame
 # and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258
-# Foobar.jpg has actual size of 1941x220
-# Portrait.svg has actual size of 180x240
-# Portrait.png has actual size of 180x240
+# Foobar has actual size of 1941x220
 # 1. Thumbs & frameless always reduce, can't be enlarged unless it's
 #    a scalable format.
 # 2. Framed images always ignore size options; always render at default size.
 # 3. "Unspecified format" and border are the only types which can be
 #    enlarged.
-# 4. Without an explicit size specification, thumbnails are
-#    resized to a square bounding box.
 
 !! test
 Image: "unspecified format" and border enlarge
@@ -10920,55 +11165,6 @@ parsoid=wt2html,wt2wt,html2html
 <figure class="mw-default-size" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure><figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure><figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure><figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
 !! end
 
-!! test
-Image: thumbnails of the default size use a square bounding box.
-!! options
-thumbsize=220
-!! wikitext
-[[File:Foobar.jpg|thumb|landscape thumb]]
-
-[[File:Foobar.jpg|frameless|landscape frameless]]
-
-[[File:Portrait.png|thumb|should use 220x220px bounding box]]
-
-[[File:Portrait.png|frameless|should use 220x220px bounding box]]
-
-[[File:Portrait.svg|thumb|should use 220x220px bounding box]]
-
-[[File:Portrait.svg|frameless|should use 220x220px bounding box]]
-!! html/php
-<div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>landscape thumb</div></div></div>
-<p><a href="/wiki/File:Foobar.jpg" class="image" title="landscape frameless"><img alt="landscape frameless" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>
-</p>
-<div class="thumb tright"><div class="thumbinner" style="width:167px;"><a href="/wiki/File:Portrait.png" class="image"><img alt="" src="http://example.com/images/thumb/9/93/Portrait.png/165px-Portrait.png" width="165" height="220" class="thumbimage" srcset="http://example.com/images/9/93/Portrait.png 1.5x, http://example.com/images/9/93/Portrait.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.png" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>should use 220x220px bounding box</div></div></div>
-<p><a href="/wiki/File:Portrait.png" class="image" title="should use 220x220px bounding box"><img alt="should use 220x220px bounding box" src="http://example.com/images/thumb/9/93/Portrait.png/165px-Portrait.png" width="165" height="220" srcset="http://example.com/images/9/93/Portrait.png 1.5x, http://example.com/images/9/93/Portrait.png 2x" /></a>
-</p>
-<div class="thumb tright"><div class="thumbinner" style="width:167px;"><a href="/wiki/File:Portrait.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/fc/Portrait.svg/165px-Portrait.svg.png" width="165" height="220" class="thumbimage" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/247px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/330px-Portrait.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>should use 220x220px bounding box</div></div></div>
-<p><a href="/wiki/File:Portrait.svg" class="image" title="should use 220x220px bounding box"><img alt="should use 220x220px bounding box" src="http://example.com/images/thumb/f/fc/Portrait.svg/165px-Portrait.svg.png" width="165" height="220" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/247px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/330px-Portrait.svg.png 2x" /></a>
-</p>
-!! end
-
-!! test
-Image: bitmap thumbnails reduce only if thumb size is smaller than inherent size.
-!! options
-thumbsize=300
-!! wikitext
-[[File:Portrait.png|thumb|should use inherent 180x240px size]]
-
-[[File:Portrait.png|frameless|should use inherent 180x240px size]]
-
-[[File:Portrait.svg|thumb|will resize to 300x300px]]
-
-[[File:Portrait.svg|frameless|will resize to 300x300px]]
-!! html/php
-<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Portrait.png" class="image"><img alt="" src="http://example.com/images/9/93/Portrait.png" width="180" height="240" class="thumbimage" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.png" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>should use inherent 180x240px size</div></div></div>
-<p><a href="/wiki/File:Portrait.png" class="image" title="should use inherent 180x240px size"><img alt="should use inherent 180x240px size" src="http://example.com/images/9/93/Portrait.png" width="180" height="240" /></a>
-</p>
-<div class="thumb tright"><div class="thumbinner" style="width:227px;"><a href="/wiki/File:Portrait.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/fc/Portrait.svg/225px-Portrait.svg.png" width="225" height="300" class="thumbimage" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/337px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/450px-Portrait.svg.png 2x" /></a>  <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Portrait.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>will resize to 300x300px</div></div></div>
-<p><a href="/wiki/File:Portrait.svg" class="image" title="will resize to 300x300px"><img alt="will resize to 300x300px" src="http://example.com/images/thumb/f/fc/Portrait.svg/225px-Portrait.svg.png" width="225" height="300" srcset="http://example.com/images/thumb/f/fc/Portrait.svg/337px-Portrait.svg.png 1.5x, http://example.com/images/thumb/f/fc/Portrait.svg/450px-Portrait.svg.png 2x" /></a>
-</p>
-!! end
-
 ###################
 
 !! test
@@ -18102,7 +18298,7 @@ Lead
 
 
 ###
-### Parsoids-specific tests
+### Parsoid-specific tests
 ### Parsoid-PHP parser incompatibilities
 ###
 !!test
@@ -18125,6 +18321,35 @@ parsoid=wt2html,wt2wt
 </dl>
 !!end
 
+#### -----------------------------------------------------------------
+#### Parsoid-specific functionality tests
+#### -----------------------------------------------------------------
+
+# Bug 63642: Formatting elt fixup is cleaned up.
+# We know wt2wt will fail, but we expect selser to pass.
+# Due to the nature of our testing, wt2wt and selser tests will enter the
+# blacklist and we'll catch selser regressions based on changes to the
+# blacklist entries for selser tests.
+!! test
+Bad treebuilder fixup of formatting elt is cleaned up
+!! options
+parsoid=wt2html,wt2wt
+!! wikitext
+{|
+|
+<small>
+[[Image:Foobar.jpg|right|Test]]
+</small>
+|}
+!! html/parsoid
+<table>
+<tbody><tr><td>
+<p><small></small></p>
+<figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption><small>Test</small></figcaption></figure>
+<p></p></td></tr>
+</tbody></table>
+!! end
+
 #### ----------------------------------------------------------------
 #### Parsoid-only testing of Parsoid's impl of <ref> and <references>
 #### tags. Parsoid's output for these tags differs from that of the
@@ -18193,7 +18418,7 @@ A <ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"This is a &lt;b data-parsoid=&#39;{\"dsr\":[19,40,3,3]}&#39;>&lt;a rel=\"mw:WikiLink\" href=\"./Bolded_link\" data-parsoid=&#39;{\"stx\":\"simple\",\"a\":{\"href\":\"./Bolded_link\"},\"sa\":{\"href\":\"bolded link\"},\"dsr\":[22,37,2,2]}&#39;>bolded link&lt;/a>&lt;/b> and this is a &lt;span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"transclusion\"}},\"i\":0}}]}&#39; data-parsoid=&#39;{\"dsr\":[55,76,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}&#39;>transclusion&lt;/span>\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"This is a &lt;b data-parsoid=&#39;{\"dsr\":[19,40,3,3]}&#39;>&lt;a rel=\"mw:WikiLink\" href=\"./Bolded_link\" data-parsoid=&#39;{\"stx\":\"simple\",\"a\":{\"href\":\"./Bolded_link\"},\"sa\":{\"href\":\"bolded link\"},\"dsr\":[22,37,2,2]}&#39;>bolded link&lt;/a>&lt;/b> and this is a &lt;span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"transclusion\"}},\"i\":0}}]}&#39; data-parsoid=&#39;{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[55,76,null,null]}&#39;>transclusion&lt;/span>\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
 
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> This is a <b><a rel="mw:WikiLink" href="./Bolded_link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
@@ -18849,9 +19074,12 @@ Lists: 0. Outside nests
 <nowiki>*</nowiki>foo
 
 <nowiki>#</nowiki>foo
+
+<nowiki>;Foo:</nowiki>bar
 !! html
 <p>*foo
 </p><p>#foo
+</p><p>;Foo:bar
 </p>
 !!end
 
@@ -19408,6 +19636,138 @@ parsoid
 <a href="http://google.com" rel="mw:ExtLink">[google</a>
 !! end
 
+!! test
+Links 6. Add <nowiki/>s between text-nodes and url-links when required (bug 64300)
+!! html/parsoid
+<p>x<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>y
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>?x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>&amp;x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>'x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>,x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>.x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>;x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>:x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>;x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>!x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>=x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>(x)
+<a rel="mw:ExtLink" href="http://example.com(x" data-parsoid='{"stx":"url"}'>http://example.com(x</a>)
+</p>
+!! wikitext
+x<nowiki/>http://example.com<nowiki/>y
+http://example.com<nowiki/>?x
+http://example.com<nowiki/>&x
+http://example.com<nowiki/>'x
+http://example.com<nowiki/>,x
+http://example.com<nowiki/>.x
+http://example.com<nowiki/>;x
+http://example.com<nowiki/>:x
+http://example.com<nowiki/>;x
+http://example.com<nowiki/>!x
+http://example.com<nowiki/>=x
+http://example.com<nowiki/>(x)
+http://example.com(x<nowiki/>)
+!! end
+
+!! test
+Links 7a. Don't add spurious <nowiki/>s between text-nodes and url-links (bug 64300)
+!! html/parsoid
+<p>x
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>
+y
+"<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>"
+(<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>)
+(<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>) foo
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>,
+<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>, foo
+</p>
+!! wikitext
+x
+http://example.com
+y
+"http://example.com"
+(http://example.com)
+(http://example.com) foo
+http://example.com,
+http://example.com, foo
+!! end
+
+## Parsoid currently fails wt2html on this one!
+!! test
+Links 7b. Don't add spurious <nowiki/>s between text-nodes and url-links (bug 64300)
+!! html/parsoid
+<p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>.,;:!?</p>
+!! wikitext
+http://example.com.,;:!?
+!! end
+
+!! test
+Links 8. Add <nowiki/>s between text-nodes and RFC-links when required (bug 64300)
+!! html/parsoid
+<p><a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>4</p>
+!! wikitext
+RFC 123<nowiki/>4
+!! end
+
+!! test
+Links 9. Don't add spurious <nowiki/>s between text-nodes and RFC-links (bug 64300)
+!! html/parsoid
+<p>x<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>y
+X<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>y
+<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>?foo
+<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>&amp;foo
+</p>
+!! wikitext
+xRFC 123y
+XRFC 123y
+RFC 123?foo
+RFC 123&foo
+!! end
+
+!! test
+Links 10. Add <nowiki/>s between text-nodes and PMID-links when required (bug 64300)
+!! html/parsoid
+<p><a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>4
+!! wikitext
+PMID 123<nowiki/>4
+!! end
+
+!! test
+Links 11. Don't add spurious <nowiki/>s between text-nodes and PMID-links (bug 64300)
+!! html/parsoid
+<p>x<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>y
+X<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>y
+<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>?foo
+<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>&foo
+</p>
+!! wikitext
+xPMID 123y
+XPMID 123y
+PMID 123?foo
+PMID 123&foo
+!! end
+
+!! test
+Links 12. Add <nowiki/>s between text-nodes and ISBN-links when required (bug 64300)
+!! html/parsoid
+<p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>1
+<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>x
+<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>b
+</p>
+!! wikitext
+ISBN 1234567890<nowiki/>1
+ISBN 1234567890<nowiki/>x
+ISBN 1234567890<nowiki/>b
+!! end
+
+!! test
+Links 12. Don't add spurious <nowiki/>s between text-nodes and ISBN-links (bug 64300)
+!! html/parsoid
+<p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>'s
+!! wikitext
+ISBN 1234567890's
+!! end
+
 #### --------------- Quotes ---------------
 #### 1. Quotes inside <b> and <i>
 #### 2. Link fragments separated by <i> and <b> tags
@@ -20288,6 +20648,21 @@ parsoid=wt2html,wt2wt
 </table>
 !!end
 
+# Parsoid only for bug 64747
+!! test
+Properly encapsulate empty-content transclusions in fosterable positions
+!! wikitext
+<table>
+{{#if:|
+<td>foo</td>
+}}
+</table>
+!! html/parsoid
+<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["&lt;table>\n",{"template":{"target":{"wt":"#if:","function":"#if"},"params":{"1":{"wt":"\n&lt;td>foo&lt;/td>\n"}},"i":0}},"\n&lt;/table>"]}' data-parsoid='{"stx":"html","pi":[[{"k":"1","spc":["","","",""]}]],"src":"&lt;table>\n{{#if:|\n&lt;td>foo&lt;/td>\n}}\n&lt;/table>"}'>
+
+</table>
+!! end
+
 !!test
 Support <object> element with .data attribute
 !!options
@@ -20489,7 +20864,7 @@ parsoid
 [[File:Foobar.jpg|thumb|upright=0.5|caption]]
 [[File:Foobar.jpg|thumb|500x500px|upright=0.5|caption]]
 !! html
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="19" width="170"/></a><figcaption>caption</figcaption></figure><figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="19" width="170"/></a><figcaption>caption</figcaption></figure><figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="57" width="500"/></a><figcaption>caption</figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="19" width="170"/></a><figcaption>caption</figcaption></figure><figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="12" width="110"/></a><figcaption>caption</figcaption></figure><figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="57" width="500"/></a><figcaption>caption</figcaption></figure>
 !!end
 
 !! test
diff --git a/tests/phpunit/data/media/Portrait.png b/tests/phpunit/data/media/Portrait.png
deleted file mode 100644 (file)
index b5a92f6..0000000
Binary files a/tests/phpunit/data/media/Portrait.png and /dev/null differ
index 26efa4a..14bcac0 100644 (file)
@@ -285,34 +285,6 @@ class NewParserTest extends MediaWikiTestCase {
                                        'fileExists'  => true
                        ), $this->db->timestamp( '20010115123500' ), $user );
                }
-               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.png' ) );
-               if ( !$this->db->selectField( 'image', '1', array( 'img_name' => $image->getName() ) ) ) {
-                       $image->recordUpload2( '', 'Upload of tall bitmap', 'Some tall bitmap', array(
-                                       'size'        => 12345,
-                                       'width'       => 180,
-                                       'height'      => 240,
-                                       'bits'        => 8,
-                                       'media_type'  => MEDIATYPE_BITMAP,
-                                       'mime'        => 'image/png',
-                                       'metadata'    => serialize( array() ),
-                                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
-                                       'fileExists'  => true
-                       ), $this->db->timestamp( '20140515134200' ), $user );
-               }
-               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Portrait.svg' ) );
-               if ( !$this->db->selectField( 'image', '1', array( 'img_name' => $image->getName() ) ) ) {
-                       $image->recordUpload2( '', 'Upload of tall SVG', 'Some tall SVG', array(
-                                       'size'        => 12345,
-                                       'width'       => 180,
-                                       'height'      => 240,
-                                       'bits'        => 24,
-                                       'media_type'  => MEDIATYPE_DRAWING,
-                                       'mime'        => 'image/svg+xml',
-                                       'metadata'    => serialize( array() ),
-                                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
-                                       'fileExists'  => true
-                       ), $this->db->timestamp( '20140325124200' ), $user );
-               }
 
                # A DjVu file
                $image = wfLocalFile( Title::makeTitle( NS_FILE, 'LoremIpsum.djvu' ) );
@@ -527,10 +499,6 @@ class NewParserTest extends MediaWikiTestCase {
                $backend->store( array(
                        'src' => "$IP/skins/monobook/headbg.jpg", 'dst' => "$base/local-public/0/09/Bad.jpg"
                ) );
-               $backend->prepare( array( 'dir' => "$base/local-public/9/93" ) );
-               $backend->store( array(
-                       'src' => "$IP/tests/phpunit/data/media/Portrait.png", 'dst' => "$base/local-public/9/93/Portrait.png"
-               ) );
                $backend->prepare( array( 'dir' => "$base/local-public/5/5f" ) );
                $backend->store( array(
                        'src' => "$IP/tests/phpunit/data/media/LoremIpsum.djvu", 'dst' => "$base/local-public/5/5f/LoremIpsum.djvu"
@@ -545,15 +513,6 @@ class NewParserTest extends MediaWikiTestCase {
                $backend->quickCreate( array(
                        'content' => $data, 'dst' => "$base/local-public/f/ff/Foobar.svg"
                ) );
-
-               $data = '<?xml version="1.0" encoding="utf-8"?>' .
-                       '<svg xmlns="http://www.w3.org/2000/svg"' .
-                       ' version="1.1" width="180" height="240"/>';
-
-               $backend->prepare( array( 'dir' => "$base/local-public/f/fc" ) );
-               $backend->quickCreate( array(
-                       'content' => $data, 'dst' => "$base/local-public/f/fc/Portrait.svg"
-               ) );
        }
 
        /**
@@ -628,9 +587,6 @@ class NewParserTest extends MediaWikiTestCase {
                                "$base/local-thumb/5/5f/LoremIpsum.djvu/page2-3720px-LoremIpsum.djvu.jpg",
                                "$base/local-thumb/5/5f/LoremIpsum.djvu/page2-4960px-LoremIpsum.djvu.jpg",
 
-                               "$base/local-public/9/93/Portrait.png",
-                               "$base/local-thumb/9/93/Portrait.png/165px-Portrait.png",
-
                                "$base/local-public/f/ff/Foobar.svg",
                                "$base/local-thumb/f/ff/Foobar.svg/180px-Foobar.svg.png",
                                "$base/local-thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png",
@@ -642,14 +598,6 @@ class NewParserTest extends MediaWikiTestCase {
                                "$base/local-thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
                                "$base/local-thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
 
-                               "$base/local-public/f/fc/Portrait.svg",
-                               "$base/local-thumb/f/fc/Portrait.svg/165px-Portrait.svg.png",
-                               "$base/local-thumb/f/fc/Portrait.svg/225px-Portrait.svg.png",
-                               "$base/local-thumb/f/fc/Portrait.svg/247px-Portrait.svg.png",
-                               "$base/local-thumb/f/fc/Portrait.svg/330px-Portrait.svg.png",
-                               "$base/local-thumb/f/fc/Portrait.svg/337px-Portrait.svg.png",
-                               "$base/local-thumb/f/fc/Portrait.svg/450px-Portrait.svg.png",
-
                                "$base/local-public/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
                );
index 1267268..ebe347f 100644 (file)
@@ -278,38 +278,6 @@ class IPTest extends MediaWikiTestCase {
                $this->assertNull( IP::sanitizeIP( ' ' ) );
        }
 
-       /**
-        * @covers IP::toUnsigned
-        * @dataProvider provideToUnsigned
-        */
-       public function testToUnsigned( $expected, $input ) {
-               $result = IP::toUnsigned( $input );
-               $this->assertTrue( $result === false || is_string( $result ) || is_int( $result ) );
-               $this->assertEquals( $expected, $result );
-       }
-
-       /**
-        * Provider for IP::testToUnsigned()
-        */
-       public static function provideToUnsigned() {
-               return array(
-                       array( 1, '0.0.0.1' ),
-                       array( 16909060, '1.2.3.4' ),
-                       array( 2130706433, '127.0.0.1' ),
-                       array( '2147483648', '128.0.0.0' ),
-                       array( 2130706440, '127.0.0.08' ),
-                       array( 2130706441, '127.0.0.09' ),
-                       array( '3735931646', '222.173.202.254' ),
-                       array( pow( 2, 32 ) - 1, '255.255.255.255' ),
-                       array( false, 'IN.VA.LI.D' ),
-                       array( 1, '::1' ),
-                       array( '42540766452641154071740215577757643572', '2001:0db8:85a3:0000:0000:8a2e:0370:7334' ),
-                       array( '42540766452641154071740215577757643572', '2001:db8:85a3::8a2e:0370:7334' ),
-                       array( false, 'IN:VA::LI:D' ),
-                       array( false, ':::1' )
-               );
-       }
-
        /**
         * @covers IP::toHex
         * @dataProvider provideToHex